java——阶段设计

package practice;

public class Student {
	private String name;
	private String id;
	private String mobile;            //四个成员变量
	private String address;
	
	public String getMobile() {  //get方法可快速获得,右键点击需要添加get和set方法的文件,点击Source,选择Generate                      Getters and Setters,点击Select All,点击OK
		return mobile;
	}
	public void setMobile(String mobile) {  //set方法可快速获得
		this.mobile = mobile;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	@Override
	public String toString() {//toString方法快速获得,右键点击需要添加toString方法的文件,点击Source,选择Generate toString,点击OK
		return "Student [name=" + name + ", id=" + id + ", mobile=" + mobile + ", address=" + address + "]";
	}
}
package practice;

import java.util.Scanner;

public class Main {
	
	static int index = 0;
	static Student[] student=new Student[45];

	public static void main(String[] args) {
		System.out.println("***********************************");
	    System.out.println("*      欢迎使用学生管理系统                   *");
	    System.out.println("***********************************");
	    
	    for( ; ;) {//死循环
	    	menu();
	    }

	}
	private static void menu() {
		System.out.println("1、添加学生信息");
	    System.out.println("2、删除学生信息");
	    System.out.println("3、修改学生信息");
	    System.out.println("4、查询学生信息");
	    
	    System.out.println("请输入操作项:");
	    Scanner scanner = new Scanner(System.in);
	    int option = scanner.nextInt();
	    
	    switch(option) {
	    case 1:
	    	if(index>student.length-1) {//保证不超过45个学生
	    		 System.out.println("已满");
	    		 return;
	    	 }
	    	
	    	 System.out.println("添加学生信息");
	    	 Student stu = new Student();
	    	 
	    	 System.out.println("请输入姓名:");
	    	 String name1=scanner.next();
	    	 stu.setName(name1);
	    	 
	    	 System.out.println("请输入学号:");
	    	 String id1=scanner.next();
	    	 stu.setId(id1);
	    	 if(index!=0) {//如果要添加的是数组中的第一个,就没必要比较
	    		 for(Student s:student) {
	    			 if(s==null) {//如果数组是空的也没必要比较
	    				 break;//跳出for循环
	    			 }
		    		 if(s.getId().equals(stu.getId())) {
		    			 System.out.println("学号重复");
		    			 return;
		    		 }
		    	 }
	    	 }
	    	 
	    	 System.out.println("请输入手机号:");
	    	 String mobile1=scanner.next();
	    	 stu.setMobile(mobile1);
	    	 
	    	 System.out.println("请输入地址:");
	    	 String address1=scanner.next();
	    	 stu.setAddress(address1);
	    	 
	    	 student[index]=stu;
	    	 index=index+1;//数组下标下移
	    	 System.out.println("添加成功");
	    	 
	    	 return;
	    	 
	    case 2:
	    	boolean hasdata=false;//是否查询成功的标志
	    	System.out.println("删除学生信息");
	    	System.out.println("请输入要删除信息的学生学号:");
	    	String studentId=scanner.next();
	    	int i=0;
	    	for(;i<student.length;i++) {
	    		if(student[i]==null) {
	    			break;
	    		}
	    		if(studentId.equals(student[i].getId())) {
	    			hasdata=true;
	    			return;//查询成功后直接结束case4
	    		} 	
	    	}
	    	if(!hasdata) {
    			System.out.println("没有查到所要删除的学生");
		    	return;
    		}
    		
	    	for(;i<student.length;i++) {
	    		if(i==student.length-1) {//如果是最后一个元素
	    			student[i]=null;
	    			break;
	    		}
	    		student[i]=student[i+1];
	    		if(student[i+1]==null) {//如果后一个元素是空的
	    			break;
	    		}
	    	}
    		System.out.println("删除成功");
    		index=index-1;//删除一个元素后,数组元素就少了一个
    		return;
	 	
	    case 3:
	    	boolean havedata=false;//是否查询成功的标志
	    	System.out.println("修改学生信息");
	    	System.out.println("请输入要修改信息的学生学号:");
	    	String sId=scanner.next();
	    	for(Student s:student) {
	    		if(s==null) {//如果数组是空的也没必要比较
	    			break;
	    		}
	    		if(s.getId().equals(sId)) {
	    			System.out.println("查询成功");
	    			System.out.println(s);
	    			havedata=true;//将查询成功标志赋值为真
	    			System.out.println("请选择要修改的类目(1:地址、2:电话号):");
	    			int op=scanner.nextInt();
	    			switch(op) {
	    		    	case 1:
	    		    		System.out.println("请输入修改后的地址:");
	    		    		String sAddress=scanner.next();
	    		    		s.setAddress(sAddress);//把修改后的地址赋值
	    		    		System.out.println("修改地址成功");
	    		    		break;
	    		    	 
	    		    	case 2:
	    		    		System.out.println("请输入修改后的电话号:");
	    		    		String sMobile=scanner.next();
	    		    		s.setMobile(sMobile);
	    		    		System.out.println("修改手机号成功");
	    		    		break;
	    			}
	    		}
	    	}
	    	if(!havedata) { //如果查询成功标志为假
	    		System.out.println("没有查到所要修改的学生");
	    	}
	    	return;
	    	
	    case 4:
	    	boolean hdata=false;
	    	System.out.println("查询学生信息");
	    	System.out.println("请输入要查询的学生学号:");
	    	String id=scanner.next();
	    	for(Student s:student) {
	    		if(s==null) {
	    			break;
	    		}
	    		if(s.getId().equals(id)) {
	    			System.out.println("查询成功");
	    			System.out.println(s);
	    			hdata=true;
	    			break;//查询成功后直接结束case4
	    		}
	    	}
	    	if(!hdata) {//如果查询成功标志为假
	    		System.out.println("没有查到学生");
	    	}
	    	return;
	    	
	    default:
	    	System.out.println("输入错误!!");
	    }
	}

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了29 篇原创文章 · 获赞 3 · 访问量 369

猜你喜欢

转载自blog.csdn.net/qq_44687512/article/details/105104675