我有一个文件:student.txt
1 Adam 50 50 50
2 Eric 34 28 38
3 Joash 44 48 49
4 Bill 34 30 45
我有2个班级:1个是主要的,另一个是完成所有工作。
// 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();
,表示
无法从String转换为int。
你能告诉我如何解决这个问题吗?
2)这是在:
线程“main”中的异常
错误java.lang.NullPointerException
我该如何解决这个问题?
答案 0 :(得分:1)
尝试:
a = Integer.parseInt(x.next());
而不是
a = x.next();
您可以尝试使用
a = x.nextInt();
答案 1 :(得分:1)
Scanner.next()将下一个标记作为String返回。当java尝试将int a设置为String时,会发生错误。您可以通过使用Scanner.nextInt()来解决此问题,它会将下一个标记作为整数返回,或者如果下一个标记不是int则抛出错误。如果