该方法应逐行读取文件的内容并将每一行添加到数组列表中。一旦到达一个单独的“。”,它就应该结束。 (句号)或不再有任何行。
问题是我无法找到一种方法来检查下一行的内容而不跳过行,因为我多次使用 nextLine。 我仅限于使用 hasNext 和 nextLine。
public static ArrayList<String> getList(Scanner in) {
ArrayList<String> list = new ArrayList<String>();
while(in.hasNext() && !in.nextLine().equals("."))
{list.add(in.nextLine());}
return list;}
如所写,输出将跳到输出行 2、4、6 等 当我需要它输出 1,2,3,4 等时。
我确信我根本没有看到解决问题的方法,但是具体关于如何通过重新格式化我使用列出的方法使其工作的任何提示表示赞赏。
最佳答案
只需将该行存储在变量中即可:
public static List<String> getList(Scanner in) {
List<String> list = new ArrayList<String>();
while (in.hasNextLine()) {
String line = in.nextLine();
if (line.equals(".")) {
break;
}
else {
list.add(line);
}
}
return list;
}
关于java - 如何检查文件的扫描仪内容并使用它们来分配输入而不用 nextLine 跳过数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522712/