嗨我需要修復此代碼以刪除字符串中立即重複的字符。例如:如果我鍵入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