2014-10-07 98 views
-1

有人可以帮我找到我的逻辑中的错误以下代码?数组算法中的重复元素

我应该打印出的数组元素只有一次(值台钳)

public class dfdf 
{ 
    public static void main(String...args) 
    { 
     System.out.println(args.length); 
     String a= "1234512"; 

     for(int i = 0; i < a.length(); i++) 
     { 
      for(int j = 0; j <= (i); j++) 
      {      
       if (i == 0) 
       { 
        System.out.print(a.charAt(i)); break; 
       } 
       else if (a.charAt(j) == a.charAt(i))       
       { 
        break; 
       }    
       else  
       { 
        System.out.print(a.charAt(i));} 
       } 
      }   
     }    
    } 
} 

期望的输出= 12345实际输出123344455552

+0

加入ohky'break'到最后一个'if'条件一个;所以..现在它正在打印123452 ....现在必须照顾0索引 – ahh 2014-10-07 22:01:08

+0

为什么C++和C标签? – 2014-10-07 22:01:44

+0

,因为它可以涉及到一般算法also..plus我需要帮助..在约2小时内访问 – ahh 2014-10-07 22:03:20

回答

1
public static void main(String args[]){ 
    String a="1234512"; 

    for(int i=0;i<a.length();i++){ 
     boolean already = false; 
     for(int j = i - 1; j >= 0; --j){ 
      if(a.charAt(j)==a.charAt(i)){ 
       already = true; 
       break; 
      } 
     } 
     if(already == false){ 
      System.out.print(a.charAt(i)); 
     } 
    } 
} 
+0

恰恰是我需要的..曼尼感谢:) – ahh 2014-10-07 22:26:53