JAVA学生信息管理系统——增删查改

1.首先添加学生类

2.再实现增删查改

在编程中遇到的小问题:

1.case语句中代码重复的话,可以注释掉,程序依然会向下执行

2.编写查询时,要考虑没有学生的情况

3.编写增加和修改和查询时,要以唯一识别的学号进行操作

4.学号是唯一的,可通过遍历集合中的序号与输入键盘中的学号进行比较

项目截图:

运行截图:

程序源代码:

Student.java

package Students;

public class Students {
	private String sno;
	private String sna;
	private String add;
		
	public Students() {
	}

	public Students(String sno, String sna, String add) {
		super();
		this.sno = sno;
		this.sna = sna;
		this.add = add;
	}

	public String getSno() {
		return sno;
	}

	public void setSno(String sno) {
		this.sno = sno;
	}

	public String getSna() {
		return sna;
	}

	public void setSna(String sna) {
		this.sna = sna;
	}

	public String getAdd() {
		return add;
	}

	public void setAdd(String add) {
		this.add = add;
	}	
}

Test.java

package Students;

import java.util.ArrayList;
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		//创建集合对象,用于存储学生数据
		ArrayList<Students> array=new ArrayList<Students>();
		//不让程序结束
		while(true) {
			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("请输入你的选择");
			Scanner sc=new Scanner(System.in);
			String choice=sc.nextLine();
			switch(choice) { 
			case"1":
				addStudents(array);
				break;
			case"2":
				deleteStudents(array);
				break;
			case"3":
				findAllStudents(array);
				break;
			case"4":
				updateStudents(array);
				break;
			case"5": 
				//System.out.println("谢谢你的使用");
				//break;
				//代码重复,输入5会继续向下执行
				default:
					System.out.println("谢谢你的使用");
					System.exit(0);//java虚拟机退出
					break;
			}
		}	
	}
	
	//添加学生
	public static void addStudents(ArrayList<Students> array) {
		Scanner sc=new Scanner(System.in);
		
		//为了让sno能被访问,把它放在循环的外面
		String Sno;
		
		while(true) {
			System.out.println("请输入学生学号:");
			//String Sno=sc.nextLine();
			Sno=sc.nextLine();
			
			//定义标记
			boolean flag=false;
			
			for(int x=0;x<array.size();x++) {
				Students s=array.get(x);
				//获取该学生的学号,和键盘录入的学号进行比较
				if(s.getSno().equals(Sno)) {
					flag=true;//说明学号被占用
					break;
				}	
			}
			if(flag) {
				System.out.println("该学号已存在,请重新输入");
			}else {
				break;
			}
		}
		System.out.println("请输入学生姓名:");
		String Sna=sc.nextLine();
		System.out.println("请输入学生地址:");
		String Add=sc.nextLine();
		
		//创建学生对象
		Students s=new Students();
		s.setSno(Sno);
		s.setSna(Sna);
		s.setAdd(Add);
		
		//把学生对象作为元素添加到集合
		array.add(s);
		
		System.out.println("添加成功");
	}
	
	//查询学生
	public static void findAllStudents(ArrayList<Students> array) {
		//首先判断集合的长度,等于0的话程序就不往下走
		if(array.size()==0){
			System.out.println("不好意思,目前没有学生,请回去重新选择你的操作");
			return;//不让程序往下执行
		}
		System.out.println("学号\t\t姓名\t地址");//\t是一个tab键的位置
		for(int x=0;x<array.size();x++) {
			Students s=array.get(x);
			System.out.println(s.getSno()+"\t"+s.getSna()+"\t"+s.getAdd());
		}
	}
	
	//删除学生
	public static void deleteStudents(ArrayList<Students> array) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你要删除的学生的学号");
		String Sno=sc.nextLine();
		
		//创建一个索引值
		int index=-1;
		
		 for(int x=0;x<array.size();x++) {
			 Students s=array.get(x);
			 if(s.getSno().equals(Sno)) {
				 index=x;
				 break;
			 }
		 }
		 if(index==-1) {
			 System.out.println("您要删除的学生信息不存在,请重新选择");
		 }else {
			 array.remove(index);
			 System.out.println("删除学生成功");
		 }
	}
	
	//编辑学生
	public static void updateStudents(ArrayList<Students> array) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你要修改的学生的学号");
		String Sno=sc.nextLine();
		
		//创建一个索引值
		int index=-1;
		
		 for(int x=0;x<array.size();x++) {
			 Students s=array.get(x);
			 if(s.getSno().equals(Sno)) {
				 index=x;
				 break;
			 }
		 }
		 if(index==-1) {
			 System.out.println("您要修改的学生信息不存在,请重新选择");
		 }else {
			 System.out.println("请输入学生新姓名:");
			 String Sna=sc.nextLine();
			 System.out.println("请输入学生新地址:");
			 String Add=sc.nextLine();			 
			 
			 //创建学生对象
			 Students s=new Students();
			 s.setSno(Sno);
			 s.setSna(Sna);
			 s.setAdd(Add);
			 
			 //修改学生中的集合对象
			 array.set(index, s);
			 
			 System.out.println("修改学生成功");
		}		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_38190823/article/details/86529865