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)
删除相同的字符后,数组长度减一,怎么实现啊
可以定义一个变量存储删除后的字符串清楚,该字符串中不存在相同的字符。
var newStr='';
while(...) 遍历原字符串中字符
//判断该字符是否存在于 newStr中
if() //存在则跳过
else //如果不存在,则将该字符添加到newStr中
遍历结束后输出的 newStr 即为不相同的字符串。
太棒了,可以的,谢谢指导啊
可行,只是你的代码数组越界了。你的内层循环是i++,这里不对。
恩恩,谢谢啊,现在我想删除相同的字符后,数组长度减一,怎么实现啊
@terminatorwei: 这,难度大了点。你还是换种数据结构吧。。
@幻天芒: 是啊,谢谢啊