2016-11-23 62 views
0

我正在完成我的作业,但从删除标记数组中的重复标记并向左移动时遇到很大问题。我尝试了util卸妆,但它不起作用,我不知道为什么。Java - 从标记数组中删除指定的字符串标记

这里是我的部分代码:

for (int z = 0 ; z < liczbaTokenow-1 ; z++) 
    {  
     for (int k = z+1 ; k<liczbaTokenow-1 ; k++) 
     {  
      if (placek[z].compareTo(placek[k]) == 0) 
      { 
       System.out.println("I found a duplicated "+placek[k]); 
       System.out.println("Should I remove it? Type:yes/no"); 
       Scanner input1 = new Scanner(System.in); 
       odpowiedz=input1.nextLine(); 
       if ((odpowiedz=="yes") && (odpowiedz=="Yes") && (odpowiedz=="YES")) 
       { 
        tokens[k]=null; HERE TOKEN "k" SHOULD BE DELETED FROM ARRAY OF TOKENS 
       } 
      } 
     } 

我能指望你的帮助? Thx提前:)

+0

虽然这可能是一个合理的问题,但代码示例非常混乱: 1)什么是'liczbaTokenow'? 2)为什么我们要比较'placek []',但将null设置为'tokens []'? 3)为什么用户输入存储在变量名“odpowiedz”中?如果你的实际产量是波兰语,我至少应该明白。但是鉴于这个问题是用英语问的,使用这种类型的变量会让你的开发人员感到困惑。 没有看到上述这些变量之间的关系,我发现很难自信地向前推进任何其他答案。 –

回答

0

这永远不会是真的。改变这一点。

if ((odpowiedz=="yes") && (odpowiedz=="Yes") && (odpowiedz=="YES")) 

if ("YES".equalsIgnoreCase(odpowiedz)) 

顺便说一下,一个更好的方式来删除重复从将使用Set并添加值来设置。这将在O(n)而不是O(n^2)中完成。

+0

不起作用... –

+0

你能发布你的完整代码吗? –

+0

也许这不是一个好主意,我的教授会检查互联网,如果我不复制它:D和我自己写的,所以我不想在这样愚蠢的情况下失败项目^^也许任何电子邮件邮件或Facebook的方法会更好? –