首页 新闻 搜索 专区 学院

删除一个字符串中相同的元素,在这种方法下能行吗

0
悬赏园豆:10 [已解决问题] 解决于 2015-07-15 15:53
 1 public class DelSame 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         String str = "AASDDFGFGFGDDD";
 6         char[] c=str.toCharArray();    
 7         for(int i=0;i<c.length-1;i++)
 8         {
 9             for(int j=i+1;j<c.length;i++)
10             {
11                 if(c[i]==c[j])
12                 {
13                     c[j]=' ';
14                 }
15             }
16         }
17         for(char x:c)
18         {
19             System.out.println(x);
20         }
21         
22     }
23 }

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 17
at test01.DelSame.main(DelSame.java:13)

问题补充:

删除相同的字符后,数组长度减一,怎么实现啊

terminatorwei的主页 terminatorwei | 初学一级 | 园豆:175
提问于:2015-01-10 02:16
< >
分享
最佳答案
0

可以定义一个变量存储删除后的字符串清楚,该字符串中不存在相同的字符。

 

var newStr='';

while(...) 遍历原字符串中字符

      //判断该字符是否存在于 newStr中

      if() //存在则跳过

      else //如果不存在,则将该字符添加到newStr中

遍历结束后输出的 newStr 即为不相同的字符串。

     

收获园豆:10
俺不是肥熊猫 | 初学一级 |园豆:18 | 2015-01-10 18:40

太棒了,可以的,谢谢指导啊

terminatorwei | 园豆:175 (初学一级) | 2015-01-10 20:21
其他回答(1)
0

可行,只是你的代码数组越界了。你的内层循环是i++,这里不对。

幻天芒 | 园豆:36910 (高人七级) | 2015-01-10 09:32

恩恩,谢谢啊,现在我想删除相同的字符后,数组长度减一,怎么实现啊

支持(0) 反对(0) terminatorwei | 园豆:175 (初学一级) | 2015-01-10 13:00

@terminatorwei: 这,难度大了点。你还是换种数据结构吧。。

支持(0) 反对(0) 幻天芒 | 园豆:36910 (高人七级) | 2015-01-10 13:13

@幻天芒: 是啊,谢谢啊

支持(0) 反对(0) terminatorwei | 园豆:175 (初学一级) | 2015-01-10 13:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册