gpt4 book ai didi

java - 在java中使用继承和对话框

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

我在 java 中创建了三个类:

大学类(class)

package CollegeCourse;
import javax.swing.JOptionPane;
public class CollegeCourse {

protected String Dept;
protected int CourseNum;
protected int Cred;
protected int fee;
protected int Charge = 120;
protected int labfee;

public void inputDepartment(){
Dept = JOptionPane.showInputDialog(null, "Enter Department");
}

public void inputCourseNumber(){
String CourseNumString = new String(" ");
CourseNumString = JOptionPane.showInputDialog(null, "Enter Course Number");
CourseNum = Integer.parseInt(CourseNumString);
}

public void inputCredits(){
String CredString = new String(" ");
CredString = JOptionPane.showInputDialog(null, "Enter Credits");
Cred = Integer.parseInt(CredString);
}

public void displayNonLabCourse(){
fee = Cred * Charge;
JOptionPane.showMessageDialog(null, Dept + CourseNum +
"\nNon-lab Course" + "\n" + Cred +" Credits" + "\nTotal fee is $" + fee);
}

实验室类(class)

package CollegeCourse;
import javax.swing.JOptionPane;
public class LabCourse extends CollegeCourse {

public void displayLabCourse(){
labfee = fee + 50;
JOptionPane.showMessageDialog(null, Dept + CourseNum +
"\nLab Course" + "\n" + Cred +" Credits" + "\nTotal fee is $" + fee);
}
}

使用类(class)

package CollegeCourse;
public class UseCourse{
public static void main(String[] args) {
CollegeCourse college = new CollegeCourse();
college.inputDepartment();
college.inputCourseNumber();
college.inputCredits();
college.displayNonLabCourse();
}
}

如何让UseCourse类在用户输入“BIO”之类的某个部门时显示LabCourse的显示方法???

创建一个名为 CollegeCourse 的类,其中包含保存部门的数据字段(例如 ENG)、类(class)编号(例如 101)、学分(例如 3)、类(class)费用(例如 360 美元)。所有字段都需要作为参数给 build 者,费用除外,费用按每学分时 120 美元计算。包括显示类(class)数据的 display() 方法。创建一个名为 LabCourse 的子类类(class)费用增加 50 美元。覆盖父类的 display() 方法以表明course 是显示所有数据的实验类(class)。编写一个名为 UseCourse 的应用程序提示用户输入信息。如果用户进入以下任何部门的类(class),创建一个 LabCourse:BIO、CHM、CIS 或 PHY。如果用户进入任何其他部门,创建不包括实验室费用的大学类(class)。然后显示类(class)数据。保存文件如 CollegeCourse.java、LabCourse.java 和 UseCourse.java。

最佳答案

这与您最初的实现方式大不相同。但我相信它会做你想做的事。可能有更好的实现方式,但我只是根据您提供的信息实现。希望你明白这一切...


使用类(class):

import javax.swing.JOptionPane;

public class UseCourse
{
public UseCourse()
{
CollegeCourse college;
// Collect all the necessary data first to determine whether it is a lab course or not.
String dept = JOptionPane.showInputDialog(null, "Enter Department");

String courseNumString = JOptionPane.showInputDialog(null, "Enter Course Number");
int courseNum = Integer.parseInt(courseNumString);

String credString = JOptionPane.showInputDialog(null, "Enter Credits");
int cred = Integer.parseInt(credString);

// Now that we have the info we can ask the question.
if (dept.equals("BIO") | dept.equals("CHM") | dept.equals("CIS") | dept.equals("PHY"))
{college = new LabCourse(dept, courseNum, cred);}

else {college = new LabCourse(dept, courseNum, cred);}
college.display();
}

public static void main(String[] args)
{new UseCourse();}
}

大学类(class):

import javax.swing.JOptionPane;
public class CollegeCourse {

protected String dept;
protected int courseNum;
protected int cred;
protected int fee;
protected int Charge = 120;
protected int labfee;

public CollegeCourse(String dept, int courseNum, int cred)
{
this.dept = dept;
this.courseNum = courseNum;
this.cred = cred;
fee = cred * Charge;
}

public void display(){

JOptionPane.showMessageDialog(null, dept + courseNum +
"\nNon-lab Course" + "\n" + cred +" Credits" + "\nTotal fee is $" + fee);
}
}


实验室类(class):

import javax.swing.JOptionPane;
public class LabCourse extends CollegeCourse
{
public LabCourse(String dept, int courseNum, int cred)
{super(dept, courseNum, cred);}

public void display()
{
fee += 50;
JOptionPane.showMessageDialog(null, dept + courseNum +
"\nLab Course" + "\n" + cred +" Credits" + "\nTotal fee is $" + fee);
}
}

关于java - 在java中使用继承和对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799793/

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