gpt4 book ai didi

java - 类的构造函数中有问题

转载 作者:行者123 更新时间:2023-11-29 07:24:18 25 4
gpt4 key购买 nike

这个程序要求用户输入两次姓名和 employmentId,而它只需要一次。

我正在尝试使用继承到名为 Nursing 的类的 name 和 employmentId 实例变量来打印一个句子。程序运行良好。但是,问题是它需要用户输入两次 name 和 employmentId。

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
}

护理.java -

class Nursing extends AbstractTest{
void display() {
System.out.println("the employment detail: " + "Name: " +
name + "ID: " + employmentId);
}
}

主.java-

class Main {
public static void main(String[] args) {
AbstractTest abstractTest = new AbstractTest();
Nursing nursing = new Nursing();
nursing.display();
}
}

//它运行良好,但它不知何故重复输入名称和 ID 两次。它应该只需要一次(下面是 MS DOS 的结果)。

输入姓名 bat 侠

输入 ID第1234章

输入姓名超人

输入 ID5678

就业详情:姓名:SupermanID:5678

最佳答案

删除行

AbstractTest abstractTest = new AbstractTest();

虽然您没有使用该对象,但它正在创建并且 Scanner 正在请求 2 个输入。

Nursing nursing = new Nursing();

就够了:它将调用其父级的构造函数,即 AbstractTest 的构造函数。

关于java - 类的构造函数中有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57305488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com