Java 从文件中获取整数时出错(将字符串转换为Int)

Java 从文件中获取整数时出错(将字符串转换为Int),java,file,Java,File,我有一个文件:student.txt 1 Adam 50 50 50 2 Eric 34 28 38 3 Joash 44 48 49 4 Bill 34 30 45 我有两个班:一个是主班,另一个做所有的工作 // Class 1 ****************** public class Main { pu

我有一个文件:student.txt

1      Adam     50       50       50

2      Eric     34       28       38

3      Joash    44       48       49

4      Bill     34       30       45
我有两个班:一个是主班,另一个做所有的工作

// Class 1 ******************

public class Main {
    public static void main(String[] args) {
        readfile a = new readfile();
        a.openFile();
        a.readFile();
        a.closeFile();
    }
}

// ********* Class 2

import java.util.*;
import java.io.*;
import java.lang.*;

public class readfile {

    private Scanner x;

    public void openFile(){
        try{
            x = new Scanner(new File("student.txt"));

        }
        catch(Exception e){
            System.out.println("Error");
        }
    }
    public void readFile(){
        int a=0;
        String b;
        int c=0;
        int d = 0;
        int e = 0;
        int total;
        while(x.hasNext()){
             a = x.next();
             b = x.next();
             c = x.next();
             d = x.next();
             e = x.next();
             int total = c+d+e;
             total = x.nextInt();
            System.out.printf("%s %s %s %s %s %s/n",a,b,c,d,e,total);
        }
    }
    public void closeFile(){
        x.close();
    }
}
我有两个错误:

1) 这是在
a=x.next()上面写着什么

无法从字符串转换为int

你能告诉我怎么修吗

2) 网址:

线程“main”中出现异常

错误java.lang.NullPointerException

如何解决此问题?

请尝试:

a = Integer.parseInt(x.next());
而不是

a = x.next();
你可以尝试使用

a = x.nextInt();

Scanner.next()以字符串形式返回下一个标记。当java试图将int a设置为字符串时,会发生错误。您可以使用Scanner.nextInt()修复此问题,它将以整数形式返回下一个标记,或者如果下一个标记不是int,则引发错误。如果
x.next()
返回什么?你把它分配给什么?为什么这个
inttotal=c+d+e
然后在下一行中使用此
total=x.nextInt()对其进行更改?为什么不直接使用
x.nextInt()
?因为这样您就不必无缘无故地使用额外的
Integer.parseInt()
代码。为什么我仍然在以下行中遇到错误:int total=x.nextInt()??上帝啊!尝试total=Integer.parseInt(x.next());Too你应该先做基本功:-)