java - 如何从给定的输入中标记一组行?

标签 java loops input

我正在尝试一些非常简单的事情。

我必须逐行读取以下输入,并为每一行创建一个整数ArrayList

2 5 10
3 5 15

我正在尝试使用以下代码处理它

while((newLine=f.readLine()) != null){
    for(int k=0; k<newLine.length(); k++){
        StringTokenizer st = new StringTokenizer(newLine);
        int i1 = Integer.parseInt(st.nextToken()); 
        System.out.println("Adding to list"+i1);
        input.add(i1);
    }
}

如您所见,我每次都会将 st 重新初始化为 newLine,而不是移至下一个标记。关于如何实现我想要的目标有什么想法吗?

最佳答案

您在 for 循环中多次将第一个标记添加到 ArrayList 中。只需迭代标记即可:

while ((newLine=f.readLine()) != null){
   StringTokenizer st = new StringTokenizer(newLine);
   while (st.hasMoreTokens()) {
      int number = Integer.parseInt(st.nextToken()); 
      input.add(number);
   }
}

关于java - 如何从给定的输入中标记一组行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16126813/

相关文章:

java - 如何在工作区级别的 vscode 中设置 java vmargs

java - 需要帮助打印双骰子滚动程序的直方图

arrays - 循环将值复制到数组中

c++ - 输入不在 C++ 中的 scanf 中终止

java - 用户输入忽略大小写

java - 如何在 Java 中访问 c​​lojure 函数?

java - HBase:如何通过限定符和值使用过滤器扫描时获得完整的行?

c# - 预先计算循环(或其他任何地方)中使用的常量是否有益?

javascript - 删除对象中找到的所有 "true"和 "false"周围的引号

java - 当输入 'q'时结束java程序