数字不在同一行,共有 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
此外,当您从文件中读取数据时,使用 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/