现在我们可以从文本文件中打印出一行 按行号。问题是我们能够打印出来的 行号(产品),直到我们达到产品的极限 我们的文本文件。我们怎样才能停止循环,只打印一行 我们选择?
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;
}
答案 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;
}