1. 设计Person类, (1)包含姓名(String)、性别(String)和年龄(int)成员变量,以及相应的getter和setter方法。 (2) 至少实现一个构造方法 (3)重写toString方法,输出Person对象信息; 2. 以Person为父类,设计一个学生类Student, (1)增加学号(int)、班级(String)、英语成绩、数学成绩和java成绩 这几个成员变量,以相应的getter和setter方法。 (2) 至少实现一个构造方法 (3) 重写toString()方法,输出Student对象信息。 3. 设计一个测试类StudentDemo,包含成员变量List<Student> students; 在main()方法中,调用并实现: (1)添加学生方法addStudents,实现从键盘输入学生信息,创建学生对象,添加到students 。 (2)删除学生方法delStudents,根据从键盘输入的学号信息,从students 删除该学生对象。 (3)输入成绩方法inputScore,从键盘为不同学生输入英语、数学和java成绩。 (4)输出成绩方法outScore, 输出students中所有学生的基本信息、3门课程成绩和平均成绩。
时间: 2023-05-26 11:03:37 浏览: 54
Person类的实现:
```java
public class Person {
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
// 构造方法
public Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
// 姓名的getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 性别的getter和setter方法
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
// 年龄的getter和setter方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// toString方法,输出Person对象信息
@Override
public String toString() {
return "姓名:" + name + ",性别:" + gender + ",年龄:" + age;
}
}
```
学生类Student继承Person类的实现:
```java
public class Student extends Person {
private int id; // 学号
private String clazz; // 班级
private float englishScore; // 英语成绩
private float mathScore; // 数学成绩
private float javaScore; // Java成绩
// 构造方法
public Student(String name, String gender, int age, int id, String clazz) {
super(name, gender, age);
this.id = id;
this.clazz = clazz;
}
// 学号的getter和setter方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
// 班级的getter和setter方法
public String getClazz() {
return clazz;
}
public void setClazz(String clazz) {
this.clazz = clazz;
}
// 英语成绩的getter和setter方法
public float getEnglishScore() {
return englishScore;
}
public void setEnglishScore(float englishScore) {
this.englishScore = englishScore;
}
// 数学成绩的getter和setter方法
public float getMathScore() {
return mathScore;
}
public void setMathScore(float mathScore) {
this.mathScore = mathScore;
}
// Java成绩的getter和setter方法
public float getJavaScore() {
return javaScore;
}
public void setJavaScore(float javaScore) {
this.javaScore = javaScore;
}
// toString方法,输出Student对象信息
@Override
public String toString() {
return super.toString() + ",学号:" + id + ",班级:" + clazz;
}
}
```
测试类StudentDemo的实现:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class StudentDemo {
// 学生列表
private List<Student> students = new ArrayList<Student>();
// 添加学生方法
public void addStudents() {
Scanner input = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入性别:");
String gender = input.next();
System.out.print("请输入年龄:");
int age = input.nextInt();
System.out.print("请输入学号:");
int id = input.nextInt();
System.out.print("请输入班级:");
String clazz = input.next();
students.add(new Student(name, gender, age, id, clazz));
System.out.println("学生添加成功!");
}
// 删除学生方法
public void delStudents() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要删除的学生的学号:");
int id = input.nextInt();
Iterator<Student> it = students.iterator();
while (it.hasNext()) {
Student student = it.next();
if (student.getId() == id) {
it.remove();
System.out.println("学生删除成功!");
return;
}
}
System.out.println("学号为" + id + "的学生不存在!");
}
// 输入成绩方法
public void inputScore() {
Scanner input = new Scanner(System.in);
System.out.println("请输入要输入成绩的学生的学号:");
int id = input.nextInt();
for (Student student : students) {
if (student.getId() == id) {
System.out.print("请输入英语成绩:");
float englishScore = input.nextFloat();
student.setEnglishScore(englishScore);
System.out.print("请输入数学成绩:");
float mathScore = input.nextFloat();
student.setMathScore(mathScore);
System.out.print("请输入Java成绩:");
float javaScore = input.nextFloat();
student.setJavaScore(javaScore);
System.out.println("成绩输入成功!");
return;
}
}
System.out.println("学号为" + id + "的学生不存在!");
}
// 输出成绩方法
public void outScore() {
for (Student student : students) {
System.out.println(student.toString() + ",英语成绩:" + student.getEnglishScore()
+ ",数学成绩:" + student.getMathScore() + ",Java成绩:" + student.getJavaScore()
+ ",平均成绩:" + (student.getEnglishScore() + student.getMathScore() + student.getJavaScore()) / 3);
}
}
public static void main(String[] args) {
StudentDemo demo = new StudentDemo();
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("请选择要执行的操作:");
System.out.println("1. 添加学生");
System.out.println("2. 删除学生");
System.out.println("3. 输入成绩");
System.out.println("4. 输出成绩");
System.out.println("0. 退出");
int choice = input.nextInt();
switch (choice) {
case 1:
demo.addStudents();
break;
case 2:
demo.delStudents();
break;
case 3:
demo.inputScore();
break;
case 4:
demo.outScore();
break;
case 0:
System.out.println("程序退出!");
System.exit(0);
default:
System.out.println("无效的操作,请重新选择!");
}
}
}
}
```