У меня проблемы со сравнением двух строк в моем цикле.Сравнение двух строк в ArrayList
Скажем, я хочу поместить два слова в ArrayList. Я решаю записать оба слова через inputDialogeBox и поместить их в список. Если два слова совпадают, второе слово не будет добавлено в список.
Но когда я сравниваю две строки, программа, похоже, не заботится о том, идентичны ли они и оба заканчиваются в списке.
Heres мой код:
package testing;
import javax.swing.*;
public class Testing {
public static void main(String[] args) {
Word c = new Word();
// word 1
String word;
word = JOptionPane.showInputDialog("Write a word: ");
System.out.println("word1 = " + word);
c.setWord(word);
// word 2
word = JOptionPane.showInputDialog("Write a new word: ");
System.out.println("word2 = " + word);
c.setWord(word); // sätt kortet≤
System.out.println("words = " + c.getWord().size() + " " + c.getWord());
}
}
И мой класс:
package testing;
import java.util.ArrayList;
public class Word {
ArrayList<String> words = new ArrayList<>();
public void setWord(String word) {
// set first value in arraylist to start the loop
if (words.isEmpty()) {
words.add("default");
}
for (int i = 0; i < words.size(); i++) {
if (!words.get(i).equals(word)) {
words.add(word);
System.out.println("words.get(i): " + words.get(i) + " word: " + word);
break;
}
}
}
public ArrayList getWord() {
return words;
}
}
Я думаю, что проблема вокруг добавить один DefaultValue, только чтобы получить что-то цикл с. В противном случае, если ArrayList пуст, я не могу запустить свой цикл. Но может быть, есть лучший способ?
Благодаря
Вы добавляете слово в список, если в списке есть * любые * слова, которые не являются словом. – Andreas
Извините. Im an beginner :-)
1) Если ArrayList пуст - добавьте первое значение в список 2) Я пропущу это значение. 3) Если строка (по умолчанию) не совпадает с первым словом, она добавляет первое слово в ArrayList . 4) Если строка (по умолчанию и word1) не является вторым словом, она добавляет ее в ArrayList Но я думаю, что Im messing it up :-) – acroscene
Если вы хотите предотвратить дубликаты, используйте Set, а не List. –