如何根据文本文件从ArrayList打印一行?

时间:2017-05-02 14:30:19

标签: java arrays loops text-files

现在我们可以从文本文件中打印出一行  按行号。问题是我们能够打印出来的  行号(产品),直到我们达到产品的极限  我们的文本文件。我们怎样才能停止循环,只打印一行  我们选择?

static ArrayList<Product> printOneLine() {
    ArrayList<Product> oneLineList = new ArrayList<Product>();
    Scanner oneLine = readDetails("Products-JavaBikes.txt");

    while (oneLine.hasNextLine()) {
        oneLineList.add(getProduct(oneLine.nextLine()));

        Scanner input = new Scanner (System.in);            
        System.out.print("Please enter a number:");

        for (int i = input.nextInt(); i < oneLineList.size();) {                    
            System.out.println(oneLineList.get(i));
            break;
        }   
    }
    return oneLineList;
}

1 个答案:

答案 0 :(得分:0)

你的问题有点不清楚。但我认为你试图在找到输入的产品时打破你的while循环。我将冗余for循环更改为if语句,以便您可以从while循环中断。你的休息只是从for循环中断开,而不是while循环。

static ArrayList<Product> printOneLine() {
    ArrayList<Product> oneLineList = new ArrayList<Product>();
    Scanner oneLine = readDetails("Products-JavaBikes.txt");

    while (oneLine.hasNextLine()) {
        oneLineList.add(getProduct(oneLine.nextLine()));

        System.out.print("Please enter a number:");
        Scanner input = new Scanner (System.in);            

        if(input.nextInt() < oneLineList.size()) {                    
            System.out.println(oneLineList.get(i));
            break;
        }   
    }
    return oneLineList;
}