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-25 14:06:11 浏览: 46
1. Person类的实现:
```
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;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + ", Gender: " + gender + ", Age: " + age;
}
}
```
2. 学生类Student的实现:
```
public class Student extends Person {
private int studentId;
private String className;
private int englishScore;
private int mathScore;
private int javaScore;
public Student(String name, String gender, int age, int studentId, String className,
int englishScore, int mathScore, int javaScore) {
super(name, gender, age);
this.studentId = studentId;
this.className = className;
this.englishScore = englishScore;
this.mathScore = mathScore;
this.javaScore = javaScore;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public int getEnglishScore() {
return englishScore;
}
public void setEnglishScore(int englishScore) {
this.englishScore = englishScore;
}
public int getMathScore() {
return mathScore;
}
public void setMathScore(int mathScore) {
this.mathScore = mathScore;
}
public int getJavaScore() {
return javaScore;
}
public void setJavaScore(int javaScore) {
this.javaScore = javaScore;
}
@Override
public String toString() {
return super.toString() + ", Student ID: " + studentId + ", Class Name: " + className +
", English Score: " + englishScore + ", Math Score: " + mathScore +
", Java Score: " + javaScore;
}
}
```
3. 学生测试类StudentDemo的实现:
```
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<>();
public void addStudents() {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input name: ");
String name = scanner.nextLine();
System.out.println("Please input gender: ");
String gender = scanner.nextLine();
System.out.println("Please input age: ");
int age = Integer.parseInt(scanner.nextLine());
System.out.println("Please input student ID: ");
int studentId = Integer.parseInt(scanner.nextLine());
System.out.println("Please input class name: ");
String className = scanner.nextLine();
Student student = new Student(name, gender, age, studentId, className, 0, 0, 0);
students.add(student);
}
public void delStudents() {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input student ID to delete: ");
int studentId = Integer.parseInt(scanner.nextLine());
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
if (student.getStudentId() == studentId) {
iterator.remove();
System.out.println("Delete success.");
}
}
}
public void inputScore() {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input student ID to input scores: ");
int studentId = Integer.parseInt(scanner.nextLine());
for (Student student : students) {
if (student.getStudentId() == studentId) {
System.out.println("Please input English score: ");
int englishScore = Integer.parseInt(scanner.nextLine());
student.setEnglishScore(englishScore);
System.out.println("Please input Math score: ");
int mathScore = Integer.parseInt(scanner.nextLine());
student.setMathScore(mathScore);
System.out.println("Please input Java score: ");
int javaScore = Integer.parseInt(scanner.nextLine());
student.setJavaScore(javaScore);
System.out.println("Input scores success.");
return;
}
}
System.out.println("Student not found.");
}
public void outScore() {
for (Student student : students) {
System.out.println(student.toString());
System.out.println("English Score: " + student.getEnglishScore());
System.out.println("Math Score: " + student.getMathScore());
System.out.println("Java Score: " + student.getJavaScore());
double averageScore = (student.getEnglishScore() + student.getMathScore() +
student.getJavaScore()) / 3.0;
System.out.println("Average Score: " + averageScore);
System.out.println();
}
}
public static void main(String[] args) {
StudentDemo demo = new StudentDemo();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Please select the operation:");
System.out.println("1. Add student");
System.out.println("2. Delete student");
System.out.println("3. Input scores for student");
System.out.println("4. Output scores for all students");
System.out.println("0. Exit");
int choice = Integer.parseInt(scanner.nextLine());
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.exit(0);
default:
System.out.println("Invalid operation.");
break;
}
}
}
}
```