编辑:添加了大括号{}和Eclipse屏幕快照
我有一个简单的任务,即创建一个具有数组列表以存储命令行中的单词的类,每个单词都附加在数组列表的末尾,然后在列表中搜索特定单词(“ the“)并打印单词出现的位置,以及另一种方法来返回一个新数组列表,该列表的单词位于数字指定的位置。
我写了下面的代码。在Eclipse IDE中,它没有显示任何错误,但是当我尝试通过“运行配置”运行代码并输入以下虚拟文本时:“快速的棕色狐狸跳过了懒狗。快速的棕色狐狸跳过了懒狗。敏捷的棕狐跳过了那只懒狗。”,它不起作用。我不确定为什么,您能给我建议吗?谢谢!
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);
}
}
正如亲爱的@Chris
评论,请在编码时使用花括号。我用两种不同的方式运行您的代码,并得到了输出。