假设我在testgrades.txt中有4个等级我不知道为什么这不会起作用。
public static void main(String[] args) throws FileNotFoundException {
File file1= new File("testgrades.txt");
int cnt = 4;
int[] grades = new int[cnt];
String line1;
for (int i=0; i<cnt; i++) {
Scanner inputFile2 = new Scanner(file1);
line1 = inputFile2.nextLine();
int grades2 = Integer.parseInt(line1);
grades[i] = grades2;
}
System.out.print(grades);
答案 0 :(得分:0)
你可以这样做
public static void main(String[] args) throws FileNotFoundException {
// TODO code application logic here
File file= new File("testgrades.txt");
Scanner scan = new Scanner(file);
int arr[] = new int[100];
int i = 0;
do{
String line1 = scan.nextLine();
int grades2 = Integer.parseInt(line1);
arr[i++] = grades2;
}while(scan.hasNextLine());
for(int j = 0; j < i; j++){
System.out.println(arr[j]);
}
}
答案 1 :(得分:0)
首先,您应该注意java中的数组包含相同类型的固定大小的元素。 您可以通过以下两种方式之一初始化它们(不太确定是否有其他方法)。
//First method
int[] anArray = new int[10];
// Second method
int[] anArray = {1,2,3,4,5,6,7,8,9,10};
在任何一种情况下,该数组的大小为10个元素。由于您从文本文件中获取数据,我建议您将行数计入变量并使用该值初始化数组。然后您可以使用循环以这种方式填充值:
// Assuming you have cnt as your total count of grades.
int[] grades = new int[cnt];
String line1;
for (int 1=0; i<cnt; i++) {
line1 = inputFile2.nextLine();
int grades2 = Integer.parseInt(line1);
grades[i] = grades2;
}
这是我的想法,所以如果你遇到任何问题请告诉我。