Я пытаюсь удалить дубликаты в моем массиве строк, хотя он не работает, Я использую Split String, чтобы получить мою строку в массиве, а затем использовать метод счетчика для подсчета дубликатов. Я не понимаю, что я сделал неправильноДубликат String Array в java
public class Program {
public static void uniqWords(String s){
String[] sentence = s.split(" ");
int[] counter = new int[sentence.length];
for(int i=0; i< sentence.length; i++){
for(int j=i+1; j<sentence.length; j++){
if(sentence[i] == sentence[j]){
counter[i] =1;
}
}
}//
for(int i=0; i<counter.length; i++){
System.out.print(counter[i] + ",");
}
for(int i =0; i<sentence.length; i++){
if(counter[i] == 1){
sentence[i] = "";
}
}
//print
for(int i=0; i<sentence.length; i++){
System.out.print(sentence[i]);
System.out.print(" ");
}
//
}
public static void main(String[] args) {
// TODO Auto-generated method stub
uniqWords("Spring in in Paris");
}
}
Вы на самом деле ничего не считаете. Вы устанавливаете счетчик '' '' каждый раз, когда вы что-то находите. Также: отлаживайте свою программу. Поиск ошибок, таких как это то, что для отладчика. Spoiler: вы не сравниваете строки с '' == '' в java. – f1sh
@KevinEsche - И, преобразив массив в набор, как вы предлагаете восстановить предложение? Так как это приведет к «удалению дубликатов * из предложения»? –
@MarkAdelsberger, преобразуя его обратно в массив 'String'? – SomeJavaGuy