该程序要求用户输入两次name和employeeId,而只需输入一次。
我正在尝试使用name和employeeId实例变量来打印一个句子,这些实例变量被继承到名为Nursing的类。该程序运行良好。但是,问题在于它要求用户输入两次name和employeeId。
AbstractTest.java-
import java.util.*;
class AbstractTest {
String name;
int employmentId;
AbstractTest (){
//initialize name and employmentId instance variables
System.out.println("enter name");
Scanner readString = new Scanner(System.in);
this.name = readString.nextLine();
System.out.println("enter ID");
Scanner readInt = new Scanner(System.in);
this.employmentId = readInt.nextInt();
}
// constructor ends
}
Nursing.java-
class Nursing extends AbstractTest{
void display() {
System.out.println("the employment detail: " + "Name: " +
name + "ID: " + employmentId);
}
}
Main.java-
class Main {
public static void main(String[] args) {
AbstractTest abstractTest = new AbstractTest();
Nursing nursing = new Nursing();
nursing.display();
}
}
//它运行良好,但是以某种方式重复两次以输入名称和ID。它应该只需要一次(以下是MS DOS的结果)。
输入名字
蝙蝠侠
输入ID
1234
输入名字
超人
输入ID
5678
就业细节:姓名:超人ID:5678
最佳答案
删除线
AbstractTest abstractTest = new AbstractTest();
尽管您不使用该对象,但是正在创建该对象,并且
Scanner
请求2个输入。Nursing nursing = new Nursing();
足够:它将调用其父级的构造函数,即
AbstractTest
之一。