Edit: добавлены фигурные скобки {} и скриншот Eclipse
У меня проблема с простым назначением для создания класса, который имеет список массивов для хранения слов из командной строки, с добавлением каждого слова до конца списка массивов, затем выполните поиск в списке указанного c слова ("the") и распечатайте местоположение вхождений слова, а также другой метод для возврата нового списка массивов со словами в позициях, указанных номер.
Я написал код ниже. В Eclipse IDE он не показывает никаких ошибок, но когда я попытался запустить код с помощью Run Configurations и ввести этот фиктивный текст: «Быстрая коричневая лиса перепрыгивает через ленивую собаку. Быстрая коричневая лиса перепрыгивает через ленивую собаку. Быстрая коричневая лисица перепрыгивает через ленивую собаку. ", Не получается. Не знаю почему, не могли бы вы дать мне совет? Спасибо!
import java.util.ArrayList;
import java.util.Scanner;
class Search {
ArrayList<String> list;
public Search(){
list = new ArrayList<String>();
}
public void read(){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
list.add(scanner.next());
}
scanner.close();
}
public void find(String word){
for(int i = 0; i < list.size(); i++) {
if(list.get(i).equalsIgnoreCase(word)) {
System.out.println(i);
}
}
}
public ArrayList<String> subsequence(int[] positions){
ArrayList<String> result = new ArrayList<String>();
for(int i = 0; i < positions.length; i++) {
if(positions[i] >= 0 && positions[i] < list.size()) {
result.add(list.get(positions[i]));
}
}
return result;
}
// Testing method within class again
public static void main(String[] args){
Search search = new Search();
search.read();
search.find("the");
for(String s : search.subsequence(new int[]{0, 3, 4}))
System.out.println(s);
}
}