我有以下课程:
public class Human {
private String firstName;
private String lastName;
public Human(){
Scanner in = new Scanner(System.in);
System.out.println("Please enter Firstname");
setFirstName(in.nextLine());
System.out.println("Please enter Lastname");
setLastName(in.nextLine());
in.close();
}
}
并且
public class Customer extends Human{
private long customerNumber;
private String customerCompanyName;
static long customerNumberCounter = 0;
public Customer(){
super();
Scanner in = new Scanner(System.in);
setCustomerNumber(customerNumberCounter);
customerNumberCounter ++;
System.out.println("Please enter Companyname");
setCustomerCompanyName(in.nextLine());
in.close();
}
}
当我调用以下主要方法时:
public static void main(String[] args) {
Customer aCustomer = new Customer();
System.out.println(aCustomer.giveFullName());
}
程序抛出以下错误:
线程中的异常" main" java.util.NoSuchElementException:没有行 发现于java.util.Scanner.nextLine(未知来源)at customers.Customer。(Customer.java:17)at customers.Customer.main(Customer.java:22)
我不明白我做错了什么,因为我可以毫无问题地创建一个类人类对象,但是当我创建一个Customer时,在人类构造函数中输入LastName后会立即弹出错误。 / p>
我已经重命名了扫描仪等,但这并没有解决问题。
有人为此获得了解决方案吗?
答案 0 :(得分:0)
在阅读下一篇文章之前,请关闭扫描仪。因此无法读取该行:
callDef