1、学生类Student 私有属性:学号,姓名、专业; 公有构造方法1:无参构造方法; 公有构造方法2:一个参数为学号,给属性赋值; 公有方法: 学号的getter访问器;其他所有属性的getter和setter访问器; 重写从Object继承的toString方法,返回学号,姓名、专业连接成的字符串; 2、班级类SchoolClass, 私有属性:年级,专业,班级名,班级学生信息(用ArrayList存储班级所有学生信息) 公有构造方法:给年级,专业,班级赋值,对班级学生信息属性进行初始化; 公有方法: init:无参数,先输入要录入的学生个数,再一次输入学生的学号,姓名、专业创建学生对象,并添加到班级学生信息属性中; searchByID:根据输入的学号查询学生信息,返回找到的学生对象,否则返回null; searchByName:根据输入的姓名查询学生信息,返回找到的学生对象,否则返回null; print:遍历班级中每一个学生,输出每个学生的所有信息; del:根据输入的学号,删除班级中指定的学生,删除成功返回true,失败返回false; 3、在Demo类的main方法中,创建班级类对象,调用其init方法,接着循环显示菜单: ******************************************************************************************** 1、按学号查询学生;2、按姓名查询学生;3、输出所有学生信息;4、删除学生;0、退出 ********************************************************************************************* 根据用户的选择调用相应的班级类的方法进行操作。
时间: 2023-07-18 07:43:18 浏览: 81
好的,你的问题是关于学生类和班级类的实现。我可以帮你回答这个问题。
首先,这里是学生类的代码实现:
```java
public class Student {
private String id;
private String name;
private String major;
public Student() {}
public Student(String id) {
this.id = id;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return id + ", " + name + ", " + major;
}
}
```
其次,这里是班级类的代码实现:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class SchoolClass {
private String grade;
private String major;
private String className;
private ArrayList<Student> students;
public SchoolClass(String grade, String major, String className) {
this.grade = grade;
this.major = major;
this.className = className;
students = new ArrayList<>();
}
public void init() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要录入的学生个数:");
int count = scanner.nextInt();
for (int i = 0; i < count; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的信息:");
System.out.print("学号:");
String id = scanner.next();
System.out.print("姓名:");
String name = scanner.next();
System.out.print("专业:");
String major = scanner.next();
Student student = new Student(id);
student.setName(name);
student.setMajor(major);
students.add(student);
}
}
public Student searchByID(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
public Student searchByName(String name) {
for (Student student : students) {
if (student.getName().equals(name)) {
return student;
}
}
return null;
}
public void print() {
for (Student student : students) {
System.out.println(student);
}
}
public boolean del(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
return true;
}
}
return false;
}
}
```
最后,这里是Demo类的代码实现:
```java
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
SchoolClass schoolClass = new SchoolClass("2022", "计算机科学与技术", "软件工程1班");
schoolClass.init();
Scanner scanner = new Scanner(System.in);
int choice = -1;
while (choice != 0) {
System.out.println("********************************************************************************************");
System.out.println("1、按学号查询学生;2、按姓名查询学生;3、输出所有学生信息;4、删除学生;0、退出");
System.out.println("********************************************************************************************");
System.out.print("请选择:");
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("请输入学生的学号:");
String id = scanner.next();
Student student1 = schoolClass.searchByID(id);
if (student1 != null) {
System.out.println(student1);
} else {
System.out.println("未找到该学生!");
}
break;
case 2:
System.out.print("请输入学生的姓名:");
String name = scanner.next();
Student student2 = schoolClass.searchByName(name);
if (student2 != null) {
System.out.println(student2);
} else {
System.out.println("未找到该学生!");
}
break;
case 3:
schoolClass.print();
break;
case 4:
System.out.print("请输入学生的学号:");
String id2 = scanner.next();
if (schoolClass.del(id2)) {
System.out.println("删除成功!");
} else {
System.out.println("未找到该学生,删除失败!");
}
break;
case 0:
System.out.println("程序已退出!");
break;
default:
System.out.println("输入错误,请重新选择!");
break;
}
}
}
}
```
这个程序可以实现班级学生信息的录入、查询、输出和删除。希望能够帮到你!
阅读全文