【Java】学生管理系统项目
【摘要】 目录一、前言二、学生管理系统主要功能在学生类下在学生总部类下: main方法:登录密码验证:打印菜单:增加学生信息:查看学生信息:删除学生信息:修改学生信息:查找学生信息:代码效果演示图:一、前言 我们前面写了通讯录管理系统,现在我们来写个学生管理系统,其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,如【登录密码验证,异常处理,非空判断,,防止重复添加】等。二、学生...
目录
一、前言
我们前面写了通讯录管理系统,现在我们来写个学生管理系统,
其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,
如【登录密码验证,异常处理,非空判断,,防止重复添加】等。
二、学生管理系统主要功能
增加学生信息
删除学生信息
修改学生信息
查找学生信息
查看所有学生信息
退出学生管理系统
主干总览图:
我们分成了许多的方法模块,便于调用。
在学生类下
,就是普通的构造方法和get和set方法,还有一个重写的toString方法
(Alt+Insert可以快速生成上述的所有)
package 学生管理系统;
public class Student {
private String name;
private String age;
private String sex;
private String number;
private String classroom;
public Student(){}
public Student(String name, String age, String sex, String classroom,String number) {
this.name = name;
this.age = age;
this.sex = sex;
this.classroom = classroom;
this.number=number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
重写toString方法是为了让我们设置好的方式去显示:
@Override
public String toString() {
return "名字:"+name+" |性别:"+sex+" |年龄:"+age+" |学号:"+number+" |班级:"+classroom+"\n";
}
}
在学生总部类下:
main方法:
public static void main(String[] args) {
ArrayList<Student> arrayList=new ArrayList<Student>();
password();//密码验证
while(true){
menu();//菜单
Scanner sc=new Scanner(System.in);
try{
int num=sc.nextInt();
switch(num){
case 1:{
addStudent(arrayList);break;
}
case 2:{
deleteStudent(arrayList);break;
}
case 3:{
reviseStudent(arrayList);break;
}
case 4:{
oneStudent(arrayList);break;
}
case 5:{
checkStudent(arrayList);break;
}
case 6:{
System.out.println("退出成功");
System.exit(0);
}
default:{
System.out.println("输入错误,输入0-6之间的数字");break;
}
}}
catch(Exception e){
e.printStackTrace();
System.out.println("你的输入是非数字,请输入0-6的数字");
}
}
}//main方法
登录密码验证:
public static void password(){
System.out.println("***欢迎来到学生管理系统***");
Scanner sc=new Scanner(System.in);
System.out.print("请输入管理员密码:");
String s="键盘敲烂";
int sum=3;
while(true){
String ss=sc.nextLine();
if(ss.equals(s)){
System.out.println("验证成功!");break;
}else{sum--;
System.out.print("密码错误,你还有"+sum+"次机会:");
}
if(sum==0){
System.out.println("输入上限,再见!");
System.exit(0);
}
}}//密码验证
打印菜单:
public static void menu(){
System.out.println("-------欢迎来到学生管理系统-------");
System.out.println("1.增加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查找学生");
System.out.println("5.查看所有学生");
System.out.println("6.退出");
System.out.println("请选择:");
}//打印菜单页
增加学生信息:
public static void addStudent(ArrayList<Student> arrayList){
Scanner sc1=new Scanner(System.in);
System.out.print("请输入姓名:");
String name=sc1.nextLine();
System.out.print("请输入年龄:");
String age=sc1.nextLine();
System.out.print("请输入性别:");
String sex=sc1.nextLine();
System.out.print("请输入学号:");
String number=sc1.nextLine();
System.out.print("请输入班级:");
String classroom=sc1.nextLine();
Student stu=new Student();
stu.setAge(age);
stu.setClassroom(classroom);
stu.setName(name);
stu.setSex(sex);
stu.setNumber(number);
int kong=0;//用来定义是否已经存在的学号
for (int i=0;i<arrayList.size();i++){
Student s=arrayList.get(i);
if((arrayList.size())>1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){
System.out.println("添加失败,你输入的学号在同一班级已存在");kong++;//存在就加一
arrayList.remove(stu);
}
}
if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){
System.out.println("有某项为空或学号在同一班已存在,添加失败");
arrayList.remove(stu);//移除该项
} else{
arrayList.add(stu);
System.out.println("添加成功");}
}//加信息
查看学生信息:
public static void checkStudent(ArrayList<Student> array){
if(array.isEmpty()){
System.out.println("这里没有任何信息,请添加后查看!");
}else{
System.out.println(array);}
}//查信息
删除学生信息:
public static void deleteStudent(ArrayList<Student> array){
if(array.isEmpty()){
System.out.println("这里没有任何信息,请添加后在进行操作!");
}else{
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除信息的名字");
String str=sc.nextLine();
int sum=0;
for(int i=0;i<array.size();i++){
Student s = array.get(i);
if(s.getName().equals(str)){
array.remove(i);sum++;
System.out.println("删除成功");
}
}if(sum==0){
System.out.println("没有该信息,删除失败!");
}
}
}//删信息
修改学生信息:
public static void reviseStudent(ArrayList<Student> arrayList){
if(arrayList.isEmpty()){
System.out.println("没有任何信息,请输入后在进行操作!");
}else {
int sum=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要换信息的名字");
String name=sc.nextLine();
for(int i=0;i<arrayList.size();i++){
Student s1=arrayList.get(i);
if(s1.getName().equals(name)){
sum++;
}
}
if(sum!=0){
Scanner sc1=new Scanner(System.in);
System.out.print("请输入姓名:");
String name1=sc1.nextLine();
System.out.print("请输入年龄:");
String age=sc1.nextLine();
System.out.print("请输入性别:");
String sex=sc1.nextLine();
System.out.print("请输入学号:");
String number=sc1.nextLine();
System.out.print("请输入班级:");
String classroom=sc1.nextLine();
Student stu=new Student();
stu.setAge(age);
stu.setClassroom(classroom);
stu.setName(name1);
stu.setSex(sex);
stu.setNumber(number);
int kc=0;
for (int i = 0; i < arrayList.size(); i++) {
Student stu1 = arrayList.get(i);
if(arrayList.size()>1&&(stu1.getNumber().equals(number)&&stu1.getClassroom().equals(classroom))){
kc++;
System.out.println("添加失败,已经存在此学号在同一班");break;
}
if(name1.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0) {
System.out.println("有某项为空,添加失败"); break;
}
if (stu1.getName().equals(name)&&kc==0) {
arrayList.set(i, stu);
System.out.println("修改成功");break;
}
}
}
if(sum==0){
System.out.println("修改失败,没有找到对应的名字");
}
} }//改信息
查找学生信息:
public static void oneStudent(ArrayList<Student> arrayList){
if (arrayList.isEmpty()){
System.out.println("没有学生信息,请添加后再查找");
}else{
Scanner sc=new Scanner(System.in);
System.out.print("请输入你要查找学生的名字:");
String name=sc.nextLine();
int sum=0;
for(int i=0;i<arrayList.size();i++){
Student stu=arrayList.get(i);
if(stu.getName().equals(name)){sum++;
System.out.println("姓名:"+stu.getName()+" 年龄:"+stu.getAge()+" 性
别:"+stu.getSex()+" 班级:"+stu.getClassroom()+" 学号:"+stu.getNumber());
}
}if(sum==0){
System.out.println("你查找的学生不存在");
}
}
}//找信息
代码效果演示图:
推荐
华为开发者空间发布
让每位开发者拥有一台云主机
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)