У меня есть ArrayList, где я ищу нужный элемент, а затем добавляю его часть в другой ArrayList. Проблема в том, что если я хочу продолжать поиск слов, а не только одного слова, я не знаю, как продолжать элементы через цикл. С использованием итератора я не смог бы найти нужные вещи.Итерация для каждого цикла Java
public static ArrayList<String> FindWord(){
ArrayList<String> rewrite=new ArrayList<>();//
ArrayList<String> word=Reading();// rewrites the data from one string to other
String userinput=Chat();
for(String elmt:word){
if (elmt.contains(userinput) && elmt.contains("=")) {
String[] parts=elmt.split("\\=");
rewrite.add(parts[1]);
// here I must do something like word.next
}
}
System.out.println(rewrite);
return rewrite; // RETURNS THE SYNONIM OF THE WORD
}
Таким образом, он идет, если я вход «привет», он найдет мне слово «приветствие», которое является синонимом в моем текстовом файле. Если я буду вводить «awesome», он найдет слово «спасибо», но если я введу их оба, он будет вводить пустой массив, как будто ничего не найдено вместо «приветствия, спасибо»
UPD: Чтение() возвращает:
public static ArrayList<String> Reading() {
Scanner inputreader = null;
try {
inputreader = new Scanner(new FileInputStream("D:\\sinonims.txt"));
}catch (FileNotFoundException e1) { // OPENS FILE WITH SINONIMS
e1.printStackTrace();
System.out.println("File not found");
System.exit(0);
}
ArrayList<String> Sins=new ArrayList();
while(inputreader.hasNextLine()){
String l=inputreader.nextLine();
Sins.add(l); // REWRITES DATA FROM FILE TO ARRATLIST
}
inputreader.close();
System.out.print(Sins);
return Sins;
}
public static String Chat(){ System.out.println("Let's start talking."); Scanner in=new Scanner(System.in); String line=in.nextLine(); return line; }
Пожалуйста, покажите, что 'Reading()' возвращает и что вы хотите 'rewrite' содержать –
с вашими утверждениями // здесь я должен сделать что-то вроде слова.Далее, вы не хотите делать следующее, потому что цикл for проходит через все элементы в слове –
, вы можете предоставить более подробную информацию о данных, которые вы читаете, и о том, как возвращаются функции Chat() и Reading(). –