JAVA面向对象程序作业--ArrayList

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();
	}

}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值