java - 如何检查文件的扫描仪内容并使用它们来分配输入而不用 nextLine 跳过数据?

标签 java

该方法应逐行读取文件的内容并将每一行添加到数组列表中。一旦到达一个单独的“。”,它就应该结束。 (句号)或不再有任何行。

问题是我无法找到一种方法来检查下一行的内容而不跳过行,因为我多次使用 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/

相关文章:

java - 使用 Spring Security 成功登录后服务器连接丢失

java - 对 double 使用字符串格式

java - 在 Java 生产中使用的最佳 OO-DBMS 是什么?

Java:从缓冲图像中获取 RGBA 作为整数数组

java - 使用 XML_URL 调用 Jasper Reports Server

java - valueOf 函数有问题

java - 使用 JSON 从 API 获取数据并将两个对象存储在数组适配器的单行中

java - 部署spring项目出错

java - Spring Boot 属性注入(inject)失败

java - 替换可能包含正则表达式的整个标记