用容器相关知识写的一个简单的学生成绩管理系统

这是我学习完容器 相关知识后,自己编写的一个简单的学生成绩管理系统,实现基本的增、删、改、查四个功能,后面有时间会增加一个按照平均分排名的功能;

1: main函数: 程序入口

package studentScoreSystem;
import java.util.Scanner;

public class main {
	public static void main(String[] args) {
		studentList list = new studentList(3);
		list.menu();  // 入口调用菜单
	}
}

2:学生类函数: 为学生设置姓名,成绩等属性

package studentScoreSystem;
//学生类   此种   类称为javabean 或者  实体类

public class student {
	private int id=0;   
	private String name=null;   
	private double class1=0;  
	private double class2=0;
	private double class3=0;
	
	public student() {
		
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getClass1() {
		return class1;
	}
	public void setClass1(double class1) {
		this.class1 = class1;
	}
	public double getClass2() {
		return class2;
	}
	public void setClass2(double class2) {
		this.class2 = class2;
	}
	public double getClass3() {
		return class3;
	}
	public void setClass3(double class3) {
		this.class3 = class3;
	}
	
}

3: 学生类list

package studentScoreSystem;
/*
 * 用到容器方面知识,同时也强化了引用类型数组的理解
 * 
 * */
import java.util.Scanner;

//学生成绩管理系统主界面
public class studentList {
	// ArrayList <student> list=new  ArrayList<student> ();泛型:表示这个数组中只能存student类的对象
	private student[] stu; 
	private int size=0;
	Scanner scan = new Scanner(System.in);
	public int size() {
		return size;
	}

	public studentList() {
		this(5);// 初始化容量为5
	}

	// 初始化容量 initialCapacity
	public studentList(int initialCapacity) {
		if (initialCapacity < 0) {
			try {
				throw new Exception();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		stu = new student[initialCapacity];
		// 引用类型的数组初始化需要new出引用类型对象,不然会出现空指针异常
//		for (int i = 0; i < initialCapacity; i++) {
//			stu[i] = new student();
//		}
	}
	// 可以返回按学号查找的学生对象的索引
	// int check(int stuId) {
	// int index;
	// for (index = 0; index < size; index++) {
	// if (stuId == stu[index].getId()) {
	// System.out.println( "学生学号:" + stu[size].getId() + "\t姓名:" +
	// stu[size].getName() + "\t数学成绩:"
	// + stu[size].getClass1() + "\t英语成绩:" + stu[size].getClass2() + "\t物理成绩:" +
	// stu[size].getClass3());
	// return index;
	// } else {
	// System.out.println("此人不存在,请输入正确学号!");
	// }
	// }
	// return index;
	// }

	// 增加学生信息方法
	public void add() {
		student s=new student();
		if (size < 5) {

			System.out.println("增加信息模块");

			System.out.print("请输入学生学号:");
			s.setId(scan.nextInt());
			System.out.print("请输入学生姓名:");
			s.setName(scan.next());
			System.out.print("请输入学生数学成绩:");
			s.setClass1(scan.nextDouble());
			System.out.print("请输入学生英语成绩:");
			s.setClass2(scan.nextDouble());
			System.out.print("请输入学生物理成绩:");
			s.setClass3(scan.nextDouble());
			System.out.println("请核实您输入的信息\t" + "学生学号:" + s.getId() + "\t姓名:" + s.getName() + "\t数学成绩:"
					+ s.getClass1() + "\t英语成绩:" + s.getClass2() + "\t物理成绩:" + s.getClass3());
			stu[size++]=s;
			System.out.println(size());
		} else {
			System.out.println("人数达到上限,添加失败。");
		}

		System.out.println("继续操作请输入1,退回至主菜单输入0");
		switch (scan.nextInt()) {
		case 1:
			add();
			break;
		case 0:
			menu();
			break;
		}
	}
	
	// 根据学号删除学生信息
	public void delete() {		
		System.out.print("请输入要删除学生学号:");
		
		for (int index = 0; index < size; index++) {
			if ( scan.nextInt()== stu[index].getId()) {
				System.arraycopy(stu, index + 1, stu, index, size - index-1);
				size--;
				System.out.println("操作成功!");
				System.out.println("当前人数"+size());
			} else {
				System.out.println("此人不存在,请输入正确学号!");
			}
			System.out.println("继续操作请输入1,退回至主菜单输入0");
			switch (scan.nextInt()) {
			case 1:
				delete();
				break;
			case 0:
				menu();
				break;
			}
		}
		

	}

	// 修改学生信息方法
	public void modified() {
		System.out.println("修改信息");
		System.out.println("请输入学生学号");
		
		for (int index = 0; index < size; index++) {
			if ( scan.nextInt()== stu[index].getId()) {
				System.out.println(
						  "学生学号:" + stu[index].getId() 
						+ "\t姓名:" + stu[index].getName() 
						+ "\t数学成绩:" + stu[index].getClass1()
						+ "\t英语成绩:" + stu[index].getClass2()
						+ "\t物理成绩:" + stu[index].getClass3());
				System.out.println("请重新输入学生信息");
				System.out.print("请输入学生学号:");
				stu[index].setId(scan.nextInt());
				System.out.print("请输入学生姓名:");
				stu[index].setName(scan.next());
				System.out.print("请输入学生数学成绩:");
				stu[index].setClass1(scan.nextDouble());
				System.out.print("请输入学生英语成绩:");
				stu[index].setClass2(scan.nextDouble());
				System.out.print("请输入学生物理成绩:");
				stu[index].setClass3(scan.nextDouble());
				System.out.println("请核实您输入的信息\t" + "学生学号:" + stu[index].getId() + "\t姓名:" + stu[index].getName() + "\t数学成绩:"
						+ stu[index].getClass1() + "\t英语成绩:" + stu[index].getClass2() + "\t物理成绩:" + stu[index].getClass3());
			}else{
				System.out.println("查无此人");
			}
			System.out.println("继续操作请输入1,退回至主菜单输入0");
			switch (scan.nextInt()) {
			case 1:
				modified();
				break;
			case 0:
				menu();
				break;
			}
		}

	}

	// 查询学生信息方法
	public void check() {
		System.out.println("查询信息");
		System.out.print("请输入要查询的学生学号:");	
		for (int index = 0; index < size; index++) { 
			if (scan.nextInt() == stu[index].getId()) {
				System.out.println(
						"学生学号:" + stu[index].getId() + "\t姓名:" + stu[index].getName() + "\t数学成绩:" + stu[index].getClass1()
								+ "\t英语成绩:" + stu[index].getClass2() + "\t物理成绩:" + stu[index].getClass3());
			} else {
				System.out.println("此人不存在,请输入正确学号!");				
			}
			System.out.println("继续操作请输入1,退回至主菜单输入0");
			switch (scan.nextInt()) {
			case 1:
				check();
				break;
			case 0:
				menu();
				break;
			}
		}
	}

	// 主菜单meun
	public void menu() {
	
		System.out.println("学生成绩管理系统欢迎您,请选择想要操作的选项的代号");
		System.out.println("0: 增加学生信息");
		System.out.println("1: 删除学生信息");
		System.out.println("2: 修改学生信息");
		System.out.println("3: 查找学生信息");
	

		int i = scan.nextInt();
		switch (i) {
		case 0:
			add();
			break;
		case 1:
			delete();
			break;
		case 2:
			modified();
			break;
		case 3:
			check();
			break;
		

		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41884976/article/details/83387677