Привет, мне нужно исправить этот код, чтобы удалить символы, которые повторяются непосредственно в строке. Например: если я нахожу 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
Почему бы вам не поместить каждый символ в 'Set' (не допускает дублирования)' String'? – Sam
Состояние 'else if' выглядит неправильно. Вы проверяете, является ли 'string.charAt (i)' не равным себе, что всегда ложно. – Asaph