Java 如何使用文件中的字符串输入填充数组?

Java 如何使用文件中的字符串输入填充数组?,java,arrays,Java,Arrays,假设我在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++) { S

假设我在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);
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException{
文件file1=新文件(“testgrades.txt”);
int-cnt=4;
int[]等级=新int[cnt];
字符串行1;

对于(inti=0;i你可以这样做

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]);
            }
        }
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException{
//此处的TODO代码应用程序逻辑
File File=新文件(“testgrades.txt”);
扫描仪扫描=新扫描仪(文件);
int arr[]=新int[100];
int i=0;
做{
字符串line1=scan.nextLine();
int grades2=Integer.parseInt(第1行);
arr[i++]=2级;
}while(scan.hasNextLine());
对于(int j=0;j
首先,您应该注意java中的数组包含相同类型的固定大小元素。 您可以用两种方法之一初始化它们(不确定是否还有其他方法)

在任何一种情况下,数组的大小都是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;
}
//假设您将cnt作为成绩总数。
int[]等级=新int[cnt];
字符串行1;

对于(int 1=0;iJava!=JavaScript…,但您的代码是,不是。它正在工作,但我在线程“main”java.lang.NumberFormatException中更改了一些内容和异常:对于输入字符串:“92.0,65.0,85.0,88.0”在java.lang.NumberFormatException.forInputString(未知源代码)在java.lang.Integer.parseInt(未知源代码)在java.lang.Integer.parseInt(未知来源)在第8章.AndrewMOntezreadfile.main(AndrewMOntezreadfile.java:35)@AndrewMontez,我相信您现在的问题是解析文本文件中的值。从错误中可以看出,读取的值是
“92.0,65.0,85.0,88.0”
编译器无法将其转换为int。这就是它抱怨的原因。我建议您从这里了解CSV解析:
// 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;
}