学生信息管理系统,java基础版

                                                                            目录

一.创建一个学生类

二.创建一个对象(包含以下)

1.菜单

2.添加学生信息

2.1学生学号、学生姓名、学生年龄(只能纯数字)、学生家庭地址(其中学生的学号要符合唯一性)4位数的学号。

3.删除学生信息

3.1根据学生id.进行删除学生信息

4.修改学生信息

5.查询学生信息

5.1查询个人学生信息或查询全部学生信息

6.完整代码

7.效果展示图

---------------------------------------------------------------------------------------------------------------------------------

首先创建一个类

package Project1;

public class Student {
	
	private String  id;
	private String name;
	private String age;
	private String address;
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Student(String id, String name, String age, String address) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.address = address;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	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 getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}

}

1.菜单

package Project1;
import java.util.ArrayList;
import java.util.Scanner;

public class StudentSystem {

	public static void main(String[] args) {
		
		ArrayList<Student> list=new  ArrayList<>();
				
	     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 choose = sc.next(); //abc
			
			switch (choose) {
			case "1" -> addStudent(list);
			case "2" -> {
				while(true) {
			             boolean sign=deleteStudent(list);
			             if(sign) {
			            	 System.out.println("删除成功!");     	 
			             }else {
			            	 System.out.print(",删除失败!\n");
			             }
			             System.out.println("是否继续删除:是输入‘1’,否输入‘0’:");
			               
			              String an=sc.next();
			               
			              String fla="0";
			               
			            if(an.equals(fla)) {   
			            	break;
			            }
				 }
			         }
			
			case "3" -> {
				  while(true) {
			              boolean flag=updateStudent(list);
			              
			              if(flag) {
			                          System.out.println("修改成功!"); 	 
			              }else {
			            	  System.out.print(",修改失败!\n");
			              }
			              
			              System.out.println("是否继续修改:是输入‘1’,否输入‘0’:");
			               
			              String an=sc.next();
			               
			              String fla="0";
			               
			            if(an.equals(fla)) {   
			            	break;
			            }
			               	              
				      }
			             
			          }
			case "4" -> {
				while(true) {
			                boolean  flag=queryStudent(list);
			                if(flag) {
                                    System.out.println("查询成功!");			                
			                }else {
			                	System.out.print(",查询失败!");
			                }
			                System.out.println("是否继续查询:是输入‘1’,否输入‘0’:");
			                String an=sc.next();
				               
				              String fla="0";
				              if(an.equals(fla)) {
				            	  break;
				              }
				          }
			                
			           }
			case "5" -> {
				          System.out.println("退出系统");
			            // break  loop;
			             System.exit(0);
			             }
			default -> System.out.println("没有这个选项");
			
			
			      }

			}

	     
		}

 其中每一个方法都有一个循环

2.添加学生信息

​
	//添加学生
	public static ArrayList<Student> addStudent(ArrayList<Student> list) {
	  
		//ArrayList<Student>  resultList=new  ArrayList<>();
	  	   
	     do{
			Scanner sc = new Scanner(System.in);
			Student stu = new Student();
			
			System.out.println("请输入学生的学号,其中学号只能有4位数字(要求纯数字):");
			String 	id;
			
     p: while (true) { 	
	
		  id=sc.next();
			
	       int  count=0;
 	  
			if(id.length() !=4) {
				System.out.println("您输入的学生学号格式错误,请重新输入:");
				count++;
			}
			
			Loop: for (int  i = 0; i <list.size(); i++) {

				Student su = list.get(i);

				if (id.equals(su.getId())) {
					System.out.println("您输入的学生学号已经存在,请重新输入:");
					count++;
					break Loop;
				} 
				
			}
			if(count==0) {
				break p;
			}
			
		     }
	
			System.out.println("请输入学生的姓名:");
			String name = sc.next();
			System.out.println("请输入学生的年龄:");
			
		    String age;
			while(true) {
				
				age=sc.next();	
				int count=0;
			for(int i=0;i<age.length();i++) {	
				
				char c=age.charAt(i);
				int  year=c-'0';
				if(year<0 || year>9) {
					System.out.println("输入年龄中包含非法符号或英文字母,请重新输入(只能纯数字):");
					count++;
					break;
				}
				
			}
			if(count==0)
				break;

			}		    
			System.out.println("请输入学生的家庭地址:");
			String address = sc.next();
			stu.setName(name);
			stu.setAge(age);
			stu.setAddress(address);
			stu.setId(id);
			list.add(stu);
			
		    System.out.println("是否继续添加学生信息。继续请按(1),退出请按(0)任意键:");
		    
		    String ans=sc.next();
		    
		    String ling="0";
	    
		    if(ans.equals(ling)) {
		    	break;
		    }
		    
	     }while(true);
		
	      
		return list;
		
		
		
	}

​

3.删除学生信息

//删除学生
	public static boolean  deleteStudent(ArrayList<Student> list){
		
		System.out.println("请输入要删除的学生学号:");
		
		Scanner sc=new Scanner(System.in);
		
		String id;
		
		while(true) {	
			 id=sc.next();
		    if(id.length()!=4)	 
		    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");  
		    else break;
		  }
		
		for(int i=0;i<list.size();i++) {
			
			Student stu=list.get(i);
			
			if(stu.getId().equals(id)) {
				
				Student str=list.remove(i);

				return true;
				
			}
		}
		System.out.print("学生系统中不存在此id="+id);
		return false;
		
	}

4.修改学生信息

	//修改学生
	//显示该学生的全部信息,提示用户想修该那一部分?
	//输入 1.修改学号
	//输入 2.修改名字
	//输入 3.修改年龄
	//输入 4.修改家庭地址
	public static boolean updateStudent(ArrayList<Student> list) {
		
		System.out.println("请输入想要修改的学生学号:");
		Scanner sc=new Scanner(System.in);
		String id;
		
	while(true) {	
		 id=sc.next();
	    if(id.length()!=4)	
	    
	    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");
	    
	    else break;
	  }
	
	
		for(int i=0;i<list.size();i++) {
			
			 Student stu=list.get(i);		 
			 if(stu.getId().equals(id)) {
		    System.out.printf("id\t姓名\t年龄\t家庭地址\n");
		   System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
		   
		 
			while(true) {
				 System.out.println("请选择修改那部分:1.修改学号,2.修改名字,3.修改年龄,4.修改家庭地址:");
				 int choose=sc.nextInt();
	             switch(choose) {		 
	             case 1->{
	           
	            	 System.out.println("请输入修改的学号:");          //如果修改的id已经存在,则提示重新输入
	            	 
	            	 String str;
	            	 while(true) {
	            		 
	            		int count=0;
						str= sc.next();
						
						for (int j = 0; j < list.size(); j++) {
							
							Student  s=list.get(j);
							
							if (str.equals(id))
								continue;
							else if (s.getId().equals(str)) {
								System.out.println("修改的id,已经存在,请重新输入:");
								count++;
								break;
							  }
							else if(str.length()!=4) {
								System.out.println("输入格式错误!其中学号只能4位数,请重新输入:");
								count++;
								break;
							 }
						}
						
						if(count==0) {
							break;
						}
	                  
						}
						stu.setId(str);
					}
	            	 
	
	             case 2->{
	            	 System.out.println("请输入修改的姓名:");
	            	 String str=sc.next();
	            	 stu.setName(str);
	             }
	             case 3->{
	            	 System.out.println("请输入修改的年龄");
	            	 
	            	 String  age;
	       
	            while(true) {
	        				
	        	     age=sc.next();	
	        				int count=0;
	        	              for(int j=0;j<age.length();j++) {	
	        				
	        	              char c=age.charAt(j);
	        	              	int  year=c-'0';
	        		           if(year<0 || year>9) {
	        					      System.out.println("输入年龄中包含非法符号或英文字母,请重新输入(只能纯数字):");
	        					        count++;
	        					              break;
	        			           	}
	        				
	        			      }
	        			            if(count==0)
	        				                 break;

	        			}		
	            	 stu.setAge(age);
	             }
	             
	             case 4->{
	            	 System.out.println("请输入修改的家庭地址:");
	            	 String str=sc.next();
	            	 stu.setAddress(str);
	             }
	             default -> System.out.println("没有这个选项");
	            }
	             
	            System.out.println("是否继续修改该学生信息。继续请按(1),退出请按(0)任意键:");
	 		    
	 		    String ans=sc.next();
	 		    
	 		    String ling="0";
	 		 
	 		    if(ans.equals(ling)) {
	 		    	
	 		    	break;
	 		    }
			 }
			
			  list.set(i, stu);
			  return true;
		}
			 
			 			 
    }
		System.out.print("不存在此id="+id);
		return false;
		
}

5.查询学生信息

//查询学生
	public static boolean  queryStudent(ArrayList<Student> list) {
		
	     
		
		System.out.println("输入1.查找全部学生信息,输入2.查找个人学生信息:");
		Scanner sc=new Scanner(System.in);  
		int choose=sc.nextInt();
		  if(choose==1){
		    System.out.printf("id\t姓名\t年龄\t家庭地址\n");  
	         for(int j=0;j<list.size();j++)
	         {
	    	 Student stu=list.get(j);
	    	 
	    	 System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
	    	
		     }
	         return true;
		  }
		  
		  else if(choose==2) {  
	        	System.out.println("请输入学生id:");
	        	String num;
	       while(true) {	
	       		num=sc.next();
	       	    if(num.length()!=4)	
	       	    
	       	    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");
	  
	       	    else break;
	       	 }
	      
	       for(int i=0;i<list.size();i++)
	       {
	    	   Student stu=list.get(i);
	    	   
	    	  if(num.equals(stu.getId())) {
	    		  System.out.printf("id\t姓名\t年龄\t家庭地址\n");  
	    		  System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
	    	      return true; 
	    	 }
	        	  	
	      }
	       
	       System.out.print("学生系统中不存在此id:"+num);
	    
	     	return false; 
	    
	    }
		  
		else {
			  System.out.println("输入格式错误,请输入1或2:");
			  return false;
		 }
		  
	      
	         
	     
	}

 6.完整代码

package Project1;
import java.util.ArrayList;
import java.util.Scanner;

public class StudentSystem {

	public static void main(String[] args) {
		
		ArrayList<Student> list=new  ArrayList<>();
				
	     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 choose = sc.next(); //abc
			
			switch (choose) {
			case "1" -> addStudent(list);
			case "2" -> {
				while(true) {
			             boolean sign=deleteStudent(list);
			             if(sign) {
			            	 System.out.println("删除成功!");     	 
			             }else {
			            	 System.out.print(",删除失败!\n");
			             }
			             System.out.println("是否继续删除:是输入‘1’,否输入‘0’:");
			               
			              String an=sc.next();
			               
			              String fla="0";
			               
			            if(an.equals(fla)) {   
			            	break;
			            }
				 }
			         }
			
			case "3" -> {
				  while(true) {
			              boolean flag=updateStudent(list);
			              
			              if(flag) {
			                          System.out.println("修改成功!"); 	 
			              }else {
			            	  System.out.print(",修改失败!\n");
			              }
			              
			              System.out.println("是否继续修改:是输入‘1’,否输入‘0’:");
			               
			              String an=sc.next();
			               
			              String fla="0";
			               
			            if(an.equals(fla)) {   
			            	break;
			            }
			               	              
				      }
			             
			          }
			case "4" -> {
				while(true) {
			                boolean  flag=queryStudent(list);
			                if(flag) {
                                    System.out.println("查询成功!");			                
			                }else {
			                	System.out.print(",查询失败!");
			                }
			                System.out.println("是否继续查询:是输入‘1’,否输入‘0’:");
			                String an=sc.next();
				               
				              String fla="0";
				              if(an.equals(fla)) {
				            	  break;
				              }
				          }
			                
			           }
			case "5" -> {
				          System.out.println("退出系统");
			            // break  loop;
			             System.exit(0);
			             }
			default -> System.out.println("没有这个选项");
			
			
			      }

			}

	     
		}

	//添加学生
	public static ArrayList<Student> addStudent(ArrayList<Student> list) {
	  
		//ArrayList<Student>  resultList=new  ArrayList<>();
	  	   
	     do{
			Scanner sc = new Scanner(System.in);
			Student stu = new Student();
			
			System.out.println("请输入学生的学号,其中学号只能有4位数字(要求纯数字):");
			String 	id;
			
     p: while (true) { 	
	
		  id=sc.next();
			
	       int  count=0;
 	  
			if(id.length() !=4) {
				System.out.println("您输入的学生学号格式错误,请重新输入:");
				count++;
			}
			
			Loop: for (int  i = 0; i <list.size(); i++) {

				Student su = list.get(i);

				if (id.equals(su.getId())) {
					System.out.println("您输入的学生学号已经存在,请重新输入:");
					count++;
					break Loop;
				} 
				
			}
			if(count==0) {
				break p;
			}
			
		     }
	
			System.out.println("请输入学生的姓名:");
			String name = sc.next();
			System.out.println("请输入学生的年龄:");
			
		    String age;
			while(true) {
				
				age=sc.next();	
				int count=0;
			for(int i=0;i<age.length();i++) {	
				
				char c=age.charAt(i);
				int  year=c-'0';
				if(year<0 || year>9) {
					System.out.println("输入年龄中包含非法符号或英文字母,请重新输入(只能纯数字):");
					count++;
					break;
				}
				
			}
			if(count==0)
				break;

			}		    
			System.out.println("请输入学生的家庭地址:");
			String address = sc.next();
			stu.setName(name);
			stu.setAge(age);
			stu.setAddress(address);
			stu.setId(id);
			list.add(stu);
			
		    System.out.println("是否继续添加学生信息。继续请按(1),退出请按(0)任意键:");
		    
		    String ans=sc.next();
		    
		    String ling="0";
	    
		    if(ans.equals(ling)) {
		    	break;
		    }
		    
	     }while(true);
		
	      
		return list;
		
		
		
	}
	//删除学生
	public static boolean  deleteStudent(ArrayList<Student> list){
		
		System.out.println("请输入要删除的学生学号:");
		
		Scanner sc=new Scanner(System.in);
		
		String id;
		
		while(true) {	
			 id=sc.next();
		    if(id.length()!=4)	 
		    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");  
		    else break;
		  }
		
		for(int i=0;i<list.size();i++) {
			
			Student stu=list.get(i);
			
			if(stu.getId().equals(id)) {
				
				Student str=list.remove(i);

				return true;
				
			}
		}
		System.out.print("学生系统中不存在此id="+id);
		return false;
		
	}

	//修改学生
	//显示该学生的全部信息,提示用户想修该那一部分?
	//输入 1.修改学号
	//输入 2.修改名字
	//输入 3.修改年龄
	//输入 4.修改家庭地址
	public static boolean updateStudent(ArrayList<Student> list) {
		
		System.out.println("请输入想要修改的学生学号:");
		Scanner sc=new Scanner(System.in);
		String id;
		
	while(true) {	
		 id=sc.next();
	    if(id.length()!=4)	
	    
	    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");
	    
	    else break;
	  }
	
	
		for(int i=0;i<list.size();i++) {
			
			 Student stu=list.get(i);		 
			 if(stu.getId().equals(id)) {
		    System.out.printf("id\t姓名\t年龄\t家庭地址\n");
		   System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
		   
		 
			while(true) {
				 System.out.println("请选择修改那部分:1.修改学号,2.修改名字,3.修改年龄,4.修改家庭地址:");
				 int choose=sc.nextInt();
	             switch(choose) {		 
	             case 1->{
	           
	            	 System.out.println("请输入修改的学号:");          //如果修改的id已经存在,则提示重新输入
	            	 
	            	 String str;
	            	 while(true) {
	            		 
	            		int count=0;
						str= sc.next();
						
						for (int j = 0; j < list.size(); j++) {
							
							Student  s=list.get(j);
							
							if (str.equals(id))
								continue;
							else if (s.getId().equals(str)) {
								System.out.println("修改的id,已经存在,请重新输入:");
								count++;
								break;
							  }
							else if(str.length()!=4) {
								System.out.println("输入格式错误!其中学号只能4位数,请重新输入:");
								count++;
								break;
							 }
						}
						
						if(count==0) {
							break;
						}
	                  
						}
						stu.setId(str);
					}
	            	 
	
	             case 2->{
	            	 System.out.println("请输入修改的姓名:");
	            	 String str=sc.next();
	            	 stu.setName(str);
	             }
	             case 3->{
	            	 System.out.println("请输入修改的年龄");
	            	 
	            	 String  age;
	       
	            while(true) {
	        				
	        	     age=sc.next();	
	        				int count=0;
	        	              for(int j=0;j<age.length();j++) {	
	        				
	        	              char c=age.charAt(j);
	        	              	int  year=c-'0';
	        		           if(year<0 || year>9) {
	        					      System.out.println("输入年龄中包含非法符号或英文字母,请重新输入(只能纯数字):");
	        					        count++;
	        					              break;
	        			           	}
	        				
	        			      }
	        			            if(count==0)
	        				                 break;

	        			}		
	            	 stu.setAge(age);
	             }
	             
	             case 4->{
	            	 System.out.println("请输入修改的家庭地址:");
	            	 String str=sc.next();
	            	 stu.setAddress(str);
	             }
	             default -> System.out.println("没有这个选项");
	            }
	             
	            System.out.println("是否继续修改该学生信息。继续请按(1),退出请按(0)任意键:");
	 		    
	 		    String ans=sc.next();
	 		    
	 		    String ling="0";
	 		 
	 		    if(ans.equals(ling)) {
	 		    	
	 		    	break;
	 		    }
			 }
			
			  list.set(i, stu);
			  return true;
		}
			 
			 			 
    }
		System.out.print("不存在此id="+id);
		return false;
		
}
		
	//查询学生
	public static boolean  queryStudent(ArrayList<Student> list) {
		
	     
		
		System.out.println("输入1.查找全部学生信息,输入2.查找个人学生信息:");
		Scanner sc=new Scanner(System.in);  
		int choose=sc.nextInt();
		  if(choose==1){
		    System.out.printf("id\t姓名\t年龄\t家庭地址\n");  
	         for(int j=0;j<list.size();j++)
	         {
	    	 Student stu=list.get(j);
	    	 
	    	 System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
	    	
		     }
	         return true;
		  }
		  
		  else if(choose==2) {  
	        	System.out.println("请输入学生id:");
	        	String num;
	       while(true) {	
	       		num=sc.next();
	       	    if(num.length()!=4)	
	       	    
	       	    	System.out.println("输入格式错误,其中学号只能4位数,请重新输入!");
	  
	       	    else break;
	       	 }
	      
	       for(int i=0;i<list.size();i++)
	       {
	    	   Student stu=list.get(i);
	    	   
	    	  if(num.equals(stu.getId())) {
	    		  System.out.printf("id\t姓名\t年龄\t家庭地址\n");  
	    		  System.out.printf("%s\t%s\t%s\t%s\n",stu.getId(),stu.getName(),stu.getAge(),stu.getAddress());
	    	      return true; 
	    	 }
	        	  	
	      }
	       
	       System.out.print("学生系统中不存在此id:"+num);
	    
	     	return false; 
	    
	    }
		  
		else {
			  System.out.println("输入格式错误,请输入1或2:");
			  return false;
		 }
		  
	      
	         
	     
	}
	

}


7.效果展示图

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值