嗨我需要修复此代码以删除字符串中立即重复的字符。例如:如果我键入aaabbbcccdeeff,则必须在最后返回abcdef。然而,在课堂上的计算机上,它返回一个“超出范围(数字)”的数字,该数字取决于我使用了多少个字符。在我的Mac上,它只是返回一个数字,如3作为输出,并且不会显示错误消息。我在Eclipse上。删除字符串中的重复字符
请帮忙,我不明白教授说什么,他也很少帮忙。该代码是(有些由教授帮助):
package firstProgramSimple;
import java.awt.Toolkit;
import java.util.Scanner;
public class SimpleVersion {
public static void main(String[] args) {
Scanner kb = new Scanner(System. in);
System.out.println("Entre String");
String string = kb.nextLine();
//System.out.println(string);
int length = string.length();
for (int i = 1; i < length; i++) {
if (string.charAt(i) != string.charAt(i - 1)) {
System.out.print(i);
} else if (string.charAt(i) != string.charAt(i)) {
System.out.print(i);
}
}
}
}
顺便说一句,我在计算机程序设计的第一学期,所以放轻松点。我必须使用非常基本的功能和命令。并需要很好的解释。任何帮助赞赏。 – user2339846 2013-05-01 15:17:48
为什么不把每个字符放在'String'的'Set'(不允许重复)? – Sam 2013-05-01 15:20:25
你的'else if'条件看起来不正确。你正在检查'string.charAt(i)'是否不等于它本身,它总是假的。 – Asaph 2013-05-01 15:23:07