繁体   English   中英

Java 扫描器类将数据文件中的多个 int 值存储到数组中

[英]Java scanner class storing multiple int values from datafile into an array

我正在尝试创建以下方法来读取“studentmarks.txt”文件。 但是,我无法让学生标记被读取为 int(例如 65 60 52)并存储到数组中。 它不断输出错误“java.util.InputMismatchException null”。 我如何在不改变“studentmarks.txt”文件格式的情况下解决这个问题? 谢谢!

public void readMarksData(String fileName) throws FileNotFoundException
{


    File dataFile = new File(fileName);
    Scanner scanner = new Scanner(dataFile);

    String nameOfCohort = scanner.nextLine(); //1
    System.out.println(nameOfCohort);

    int noOfMarks = scanner.nextInt();  //2
    System.out.println(noOfMarks);

    scanner.nextLine();
    while( scanner.hasNext() )
    {

       scanner.useDelimiter("[,\n]");
       String name = scanner.next();      //3
       System.out.println(name);



         //            int marks[] = new int[3];
         //            for(int i = 0 ; i <= 3 ; i++)
         //            {
         //               marks[i] = scanner.nextInt();
         //            }

       int marks[] = new int[100];

       int markOne = scanner.nextInt();  //4 java.util.InputMismatchException null
       marks = new int[markOne];
       System.out.println(markOne);
       scanner.nextLine();



       int markTwo = scanner.nextInt();      //5
       marks = new int[markTwo];
       scanner.nextLine();

       int markThree = scanner.nextInt();      //6
       marks = new int[markThree];
       scanner.nextLine();
       //              
       //System.out.println(markOne + " " + markTwo + " " + markThree);

    }
    scanner.close();
}

学生标记.txt:

CS1 Group 2
3
Andreas Antoniades
65 85 77
Charlotte Brocklebank
87 93 81
suzanne dawson
0 55 42

学生记录类:

public class StudentRecord
{

   private String name;
   private String noOfMarks; 
   private int[] marks;

   public StudentRecord(String name)
   {
     marks = new int[24];
     this.name = name;  
   }
int result = Integer.parseInt(number);

您可以使用parseInt(String val)方法将 65 的字符串值解析为整数值并将其存储在数组中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM