(完美课设)java学生信息管理系统终极版(附源码)学生管理系统(挑战全网最强系统)

如果要简版请走 简版学生信息管理系统https://blog.csdn.net/weixin_43419816/article/details/104234590

简述

2020.2.11凌晨12点20分,历时三天从我的简版经历了无数的构思,创造,重做,再创造,修改。终于,终于,一部巨作诞生了。(小菜鸟在嘶声力竭ing)
期间优化,简化是最大的问题,毕竟一定要革新于简版,最好做到完美。“要做质量的准绳,有些人还不习惯在一个追求完美的环境里工作”——乔布斯,这句话,一直伴随着我的学习代码的过程中,的确,对于编程来说,从后台的完美到一切完美需要很大的努力和辛苦,但是,我就是这么一个追求完美,一步步踏实且坚定地前行,或许这就是“工匠精神”吧。

的确很苦,不过当我看到没有一个bug,页面友好美观,这一切都值得了,或许,我用理工男的审美去尽全力打造的产品,并不能投你所好,不过,我仍在前行,努力地让每一行code完美,精简。

致谢与勉励:发此文是为了感谢我所关注的大牛给予我精神和技术上的帮助和鼓励,同时,也为了让许许多多和我一样的小菜鸟不要灭了初心,因为你我在同心,fighting~~(再次嘶声力竭)

嗯~~~吐槽完毕,舒服好多。下面我先上个界面,先让你们安心。

(完美课设)java学生信息管理系统终极版(附源码)学生管理系统(挑战全网最强系统)_第1张图片
(再说一下,有简版的你要是觉得复杂的话,请走简版学生信息管理系统)

正文

(最后附有网盘源文件链接)

文件名:/JRfirst/src/init/wuji/stu/Main.java
文件部署:(完美课设)java学生信息管理系统终极版(附源码)学生管理系统(挑战全网最强系统)_第2张图片

上代码

package init.wuji.stu;

import java.util.Scanner;

class Main {
	public static void main(String[] strs) {
		System.out.println("欢迎使用代码第8行的学生管理系统");

		Scanner scan = new Scanner(System.in);

		Main main = new Main();

		StuSys s1 = new StuSys();

		while (true) {
			main.showMenu();
			switch (scan.nextInt()) {
			case 0:
				System.exit(0);

			case 1:
				s1.insertStu(scan);
				break;

			case 2:
				s1.delateStu(scan);
				break;

			case 3:
				s1.updateStu(scan);
				break;

			case 4:
				s1.showStuInfo(scan);
				break;

			case 5:
				s1.showAllStuInfo();
				break;

			default:

				System.out.println("输入数据不合规!!!");
			}
		}
	}

	void showMenu() {
		System.out.println("    请选择操作:\n");
		System.out.println("  1:增加学生信息");
		System.out.println("  2:删除学生信息");
		System.out.println("  3:修改学生信息");
		System.out.println("  4:根据学号查看学生信息");
		System.out.println("  5:查看所有学生信息");
		System.out.println("  0:退出系统");
	}
}

class Student {
	Student() {

	}

	Student(String stuNo, String stuName, String gender, byte age, int score) {
		this.stuNo = stuNo;

		this.stuName = stuName;

		this.gender = gender;

		this.age = age;

		this.score = score;

	}

	String stuNo;

	String stuName;

	String gender;

	byte age;

	int score;
}

class StuData {

	Student stuArray[] = new Student[10];
	int dataindex = 0;

	void insertStu(Student stu) {
		if (dataindex == stuArray.length) {
			Student newArray[] = new Student[stuArray.length + (stuArray.length >> 1)];
			for (int i = 0; i < dataindex; i++) {
				newArray[i] = stuArray[i];
			}
			stuArray = newArray;/// 赋值时不用加[]
		}
		stuArray[dataindex] = stu;
		dataindex++;

	}

	Student checkStuNo(String stuNo) {
		for (int i = 0; i < dataindex; i++) {
			if (stuArray[i].stuNo.equals(stuNo)) /// .equals
			{
				return stuArray[i];
			}
		}
		return null;
	}

	void delateStu(String stuNo) {/// 错误:找不到符号 有可能是大小写的问题,只要双击不论大小写只要拼写相同就变绿
		boolean flag = false;
		for (int i = 0; i < dataindex; i++) {
			if (stuArray[i].stuNo.equals(stuNo)) {
				stuArray[i] = stuArray[i + 1];
				flag = true;
			}
		}
		if (flag) {
			dataindex--;
		}

	}

	void updateStu(Student stu) {
		for (int i = 0; i < dataindex; i++) {
			if (stuArray[i].stuNo.equals(stu.stuNo)) {
				stuArray[i] = stu;
			}
		}
	}

	void printStu(Student stu) {
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.print("学生编号 " + stu.stuNo + "  ");
		System.out.print("学生姓名 " + stu.stuName + "  ");
		System.out.print("学生性别 " + stu.gender + "  ");
		System.out.print("学生年龄 " + stu.age + "  ");
		System.out.println("学生成绩 " + stu.score + "  ");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
	}

	void printAllstuInf() {
		for (int i = 0; i < dataindex; i++) {
			printStu(stuArray[i]);
		}

	}
}

class StuSys {
	StuData stud = new StuData();

	void insertStu(Scanner scanner) {
		System.out.println("请输入学生的学号 姓名 性别 年龄 成绩(输入出用空格分开):");
		String stuNo = scanner.next();
		String stuName = scanner.next();
		String gender = scanner.next();
		byte age = scanner.nextByte();
		int score = scanner.nextInt();
		int i = 0;

		if (stud.checkStuNo(stuNo) == null) {
			Student stu = new Student(stuNo, stuName, gender, age, score);
			stud.insertStu(stu);
			System.out.println("学生信息添加成功!!!");
		} else {
			System.out.println("您输入的学生编号已存在,请选择下一步操作");
			System.out.println("1、继续添加  2、退出系统");
			i = scanner.nextInt();
			if (i == 1) {
				insertStu(scanner); /// 递归
			} else if (i == 2) {
				System.exit(0);
			}

			else {
				System.out.println("您输入的数据不合规!!!");
			}
		}
	}

	void delateStu(Scanner scan) {
		int i = 0;/// 可以重复使用i吗
		System.out.println("请输入要删除学生的编号:");
		String stuNo = scan.next();
		if (stud.checkStuNo(stuNo) != null) {
			stud.delateStu(stuNo);
			System.out.println("学成信息删除成功!!!");
		} else {
			System.out.println("您输入的学号不存在,请选择下一步操作");
			System.out.println("1、继续删除 2、退出系统");
			if (i == 1) {
				delateStu(scan);
			} else if (i == 2) {
				System.exit(0);
			} else {
				System.out.println("您输入的数据不合规!!!");
			}
		}
	}

	void updateStu(Scanner scanner) {
		int i = 0;
		System.out.println("请输入要修改的学生的编号:");
		String stuNo = scanner.next();
		Student stu = new Student();
		if (stud.checkStuNo(stuNo) != null) {
			System.out.println("请输入学生的姓名 性别 年龄 成绩 (输入时用空格分开)");
			stu.stuNo = stuNo;
			stu.stuName = scanner.next();
			stu.gender = scanner.next();
			stu.age = scanner.nextByte();
			stu.score = scanner.nextInt();
			stud.updateStu(stu);
			System.out.println("学生信息修改成功!!!");
		} else {
			System.out.println("您输入的学生编号不存在,请选择下一步操作");
			System.out.println("1、继续修改  2、退出系统");
			i = scanner.nextInt();
			if (i == 1) {
				insertStu(scanner);
			} else if (i == 2) {
				System.exit(0);
			}

			else {

				System.out.println("您输入的数据不合规!!!");
			}

		}
	}

	void showStuInfo(Scanner scanner) {
		int i = 0;
		Student stu = new Student();
		System.out.println("请输入查看学生的编号");
		String stuNo = scanner.next();
		if ((stu = stud.checkStuNo(stuNo)) != null) {
			stud.printStu(stu);
		} else {
			System.out.println("您输入的学号不存在,请选择下一步操作");
			System.out.println("1、继续查看 2、退出系统");
			i = scanner.nextInt();
			if (i == 1) {
				showStuInfo(scanner);
			}

			else if (i == 2) {
				System.exit(0);
			}

			else {
				System.out.println("您输入的数据不合规!!!");
			}
		}
	}

	void showAllStuInfo() {
		stud.printAllstuInf();
	}
}



有问题或者建议的话,留言

源码链接

链接:https://pan.baidu.com/s/18-JmYutxqfVYlvE4zbUMJg
提取码:7vr0

下课

你可能感兴趣的:(java,java,bug,javase,算法,经验分享)