【发布时间】:2020-05-23 04:55:41
【问题描述】:
您好,我正在尝试使这部分工作,以便当输入是诸如“aaabbbccdddeef”之类的字符串时,输出是“abcdef”。我知道那里有解决方案,但令我困扰的是这不起作用,我不明白为什么。如果有人能帮助我理解为什么这段代码不起作用,我将不胜感激。
Scanner input = new Scanner(System.in);
System.out.print("please enter the string of characters: " );
String str = input.nextLine();
char[] store = new char[str.length()];
int count =0;
for(int i=0; i<str.length();i++) {
for (int j=0; j<str.length(); j++) {
if(str.charAt(i)==store[j] ){
count+=1;//when character not stored keep count to offset store position
break;
}else {store[i-count] = str.charAt(i); count = 0;}
}
}
System.out.println(str);
System.out.print(store);
【问题讨论】:
-
谢谢@ScaryWombat,但你知道它到底有什么问题吗?因为这让我在过去的几个小时里发疯了 T_T
-
是的,当不存储字符并且将 a 与 null 进行比较时,它是偏移索引的重置,我已经通过使用 '*' 初始化整个存储数组来测试它,但它仍然没有不行。
-
如果您不想使用此处提供的答案,那么我建议您使用调试器并逐步执行代码
标签: java filter text-processing