JAVA面向对象程序作业–ArrayList
简单的学生信息管理系统:
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、退出
*********************************************************************************************
根据用户的选择调用相应的班级类的方法进行操作。
把程序代码的截图和运行结构的截图贴到答案框中。
public class Student {
private String number,name,major;
Student() {}
Student(String number) {
this.number=number;
}
public String getNumber() {
return number;
}
public void setName(String n) {
name=n;
}
public String getName() {
return name;
}
public void setMajor(String m) {
major=m;
}
public String getMajor() {
return major;
}
public String toString() {
return "学号"+number+",姓名:"+name+",专业:"+major;
}
}`
import java.util.ArrayList;
import java.util.Scanner;
public class SchoolClass {
Scanner s=new Scanner(System.in);
private String grade,major,classname;
ArrayList<Student> a=new ArrayList<Student>();
SchoolClass() {
System.out.println("请输入要录入的年级:");
this.grade=s.next();
System.out.println("请输入要录入的专业:");
this.major=s.next();
System.out.println("请输入要录入的班级名称:");
this.classname=s.next();
}
public void init() {
System.out.println("请输入要录入的学生个数");
Student[] student=new Student[s.nextInt()];
for(int i=0;i<student.length;i++) {
System.out.println("第"+(i+1)+"个学生");
System.out.println("请输入您需要添加的学生学号:");
student[i]=new Student(s.next());
System.out.println("请输入您需要添加的学生姓名:");
student[i].setName(s.next());
System.out.println("请输入您需要添加的学生专业:");
student[i].setMajor(s.next());
a.add(student[i]);
}
}
public Student searchByID() {
System.out.println("请输入要查询的学生学号:");
String id=s.next();
for(int i=0;i<a.size();i++) {
if(a.get(i).getNumber().equals(id)) {
return a.get(i);
}
}
return null;
}
public Student searchByName() {
System.out.println("请输入要查询的学生姓名:");
String name=s.next();
for(int i=0;i<a.size();i++) {
if(a.get(i).getName().equals(name)) {
return a.get(i);
}
}
return null;
}
public void print() {
if(a.size()==0){
System.out.println("无学生信息请重试");
}else {
for(Student i:a) {
System.out.println(i.toString());
}
}
}
public boolean del() {
if(a.size()==0) {
System.out.println("无学生信息请重试");
}else {
System.out.println("请输入要删除的学生学号:");
String num=s.next();
for(int i=0;i<a.size();i++) {
if(a.get(i).getNumber().equals(num)) {
a.remove(i);
return true;
}
}
}
return false;
}
}
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
SchoolClass sc=new SchoolClass();
sc.init();
boolean flag=true;
while(flag) {
System.out.println("************************************************************************");
System.out.println("1、按学号查询学生;2、按姓名查询学生;3、输出所有学生信息;4、删除学生;0、退出");
System.out.println("************************************************************************");
switch(s.nextInt()) {
case 1:System.out.println(sc.searchByID());break;
case 2:System.out.println(sc.searchByName());break;
case 3:sc.print();break;
case 4:System.out.println(sc.del());break;
default:flag=false;
}
}
s.close();
}
}