“线程中的异常”;“主要”;java.lang.NullPointerException从txt读取元素
我是java编程的初学者。我正在尝试开发一个程序,但当我运行下面发布的程序时,它返回了此错误:“线程中的异常”;“主要”;java.lang.NullPointerException从txt读取元素,java,Java,我是java编程的初学者。我正在尝试开发一个程序,但当我运行下面发布的程序时,它返回了此错误: Exception in thread "main" java.lang.NullPointerException at ChargeAccount1.isValid(ChargeAccount1.java:39) at ChargeAccount1Test.main(ChargeAccount1Test.java:22) 这是我的密码: import java.io.*; impo
Exception in thread "main" java.lang.NullPointerException
at ChargeAccount1.isValid(ChargeAccount1.java:39)
at ChargeAccount1Test.main(ChargeAccount1Test.java:22)
这是我的密码:
import java.io.*;
import java.util.*;
public class ChargeAccount1 {
private int [] valid;
public void main(String[] args) throws IOException {
FileReader file = new FileReader("Account.txt");
valid=new int [10];
int i=1;
Scanner input = new Scanner(file);
while(input.hasNext())
{
valid[i] = input.nextInt();
i++;
}
input.close();
}
public boolean isValid(int number) {
boolean found = false;
int n = 0;
while (!found && n < valid.length) {
if (valid[n] == number) {
found = true;
} else {
n++;
}
}
return found;
}
}
public class ChargeAccount1Test {
public static void main(String[]args)throws IOException{
ChargeAccount1 in = new ChargeAccount1();
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a charge account number:");
String account = scan.nextLine();
int number = Integer.parseInt(account);
if (in.isValid(number)) {
System.out.println("This is a valid account number");
} else {
System.out.println("This is an invalid account number");
}
}
}
import java.io.*;
导入java.util.*;
公共类收费帐户1{
私有int[]有效;
public void main(字符串[]args)引发IOException{
FileReader文件=新的FileReader(“Account.txt”);
有效=新整数[10];
int i=1;
扫描仪输入=新扫描仪(文件);
while(input.hasNext())
{
有效[i]=input.nextInt();
i++;
}
input.close();
}
公共布尔值isValid(整数){
布尔值=false;
int n=0;
而(!found&&n
您的有效
为空
main
方法不是构造函数,它只是一个顶级入口点。因此,当您在.isValid(number)中调用时,对象内部的valid
为null
,因为您仅在main
方法中初始化它,这就是为什么您可能首先要调用in.main(null)
的原因。请将该行标记为异常,我们没有行号……不要期望执行ChargeAccount1
的main
,因为它不是程序的根。实际上,ChargeAccount1Test
是根。