java - 我需要从 txt 文件上的 1000 个数字的列表创建一个数组列表。 java

标签 java arrays loops file arraylist

数字不在同一行,共有 1000 行,每行都有一个数字。

这是我的代码,但运行时收到错误,它指向数组列表的 int 部分并显示意外类型。

import java.util.ArrayList;
import java.io.*;
import java.util.Scanner; 
public class Homework4
{
   public static void main(String[] args) throws IOException
   {
      //Variables 
      int num;
      int temp; 

      Scanner kb = new Scanner(new File("number.txt"));
      ArrayList<int> list = new ArrayList<int>();
      while (kb.hasNextLine())
      {
         list.add(kb.nextLine());


      }      

      //Close File
      inputFile.close();




   }
}

最佳答案

您必须使用包装类 Integer .

更改ArrayList<int>ArrayList<Integer>

同样,

long-> Long
double-> Double
char-> Character
float-> Float

您可以阅读有关原始类型集合的更多信息 herehere

此外,当您从文件中读取数据时,使用 kb.nextLine()它返回 String 类型。您可以将其转换为 Integer使用Integer.parseInt()输入通过以下方式。

list.add( Integer.parstInt( kb.nextLine() ) );

下一部分是关闭资源。 您尚未按名称 inputFile 声明变量。一定是kb相反。

kb.close();

完整代码如下

public static void main(String[] args) throws IOException {
    Scanner kb = new Scanner(new File("number.txt"));
    ArrayList<Integer> list = new ArrayList<>();
    while (kb.hasNextLine()) {
        list.add(Integer.parseInt(kb.nextLine()));
    }
    kb.close();
}

希望这有帮助。

关于java - 我需要从 txt 文件上的 1000 个数字的列表创建一个数组列表。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61233616/

相关文章:

java - 由于某种原因,循环没有打印出正确的数组值

php - 删除每第 N 个字母(循环)

java - 如何设置JSlider在窗口中的位置?

java - 使用 REGEX 验证坐标格式是否正确

c# - 在用户设置中存储 array[,]

c++ - 如何在创建函数返回的范围末尾释放分配的内存?

Java错误: cannot invoke size() on the primitive type double

java - 将 Iterable 转换为 Collection 的简单方法

javascript - 如何在 javascript 对象中查找键名称的长度而不是内容的长度

php永无止境的循环