[使用扫描仪的字符串数组列表

问题描述 投票:0回答:1

编辑:添加了大括号{}和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);

    }
}  

“

java arraylist java.util.scanner
1个回答
1
投票
  • 正如亲爱的@Chris评论,请在编码时使用花括号。我用两种不同的方式运行您的代码,并得到了输出。

© www.soinside.com 2019 - 2024. All rights reserved.