java学生信息管理系统,使用ArrayList泛型类构造动态数组

本文介绍了一个简单的学生信息管理系统,包括学生类的定义和操作,如添加、删除、修改、搜索学生信息,以及显示所有学生信息的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	写的第一个博客,记录自己的学习过程。代码写的很粗糙,希望诸位勿喷!

Student类

public class Student {
	private String name;
	private char sex;
	private String id;
	private int age;
	private int grade;
	
	public Student(){
		this.name = ""; this.sex = 'm'; this.id = "0";
		this.age = 0; this.grade = 0;
	}
	public Student(String name, char sex, String id, int age, int grade){
		this.name = name; this.sex = sex; this.id = id; 
		this.age = age; this.grade = grade; 
	}
	
	public void  setName(String name){this.name = name;}
	public void setSex(char sex){this.sex = sex;}
	public void setAge(int age){this.age = age;}
	public void setId(String id){this.id = id;}
	public void setGrade(int grade){this.grade = grade;}
	
	public String getName(){return name;}
	public char getSex(){return sex;}
	public String getId(){return id;}
	public int getAge(){return age;}
	public int getGrade(){return grade;}
	
	public String toString(){
		return "name:" + name +" id:" + id + " sex:"
				+ sex + " age:" + age + " grade:" +grade;
	}
}

BoringForStudentList类

/**
 * This program is Student information management system
 * @version 2018-10-15
 * @author Clay
 * */
import java.util.ArrayList;
import java.util.Scanner;

public class BoringForStudentList {
	private static ArrayList<Student> stu = new ArrayList<Student>();
	
	
	public static void main(String args[]){
		System.out.println("\t\t\tStudent information management system");
		for(int i=0; i<85; i++) System.out.print("=");
		System.out.println();
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		while(true){
			System.out.println("\t1.add		2.delete		3.set");
			System.out.println("\t4.search	5.size			6.travel round		"
					+ "7.exit");
			System.out.print("Please input:");
			int select = in.nextInt();
			switch(select){
			case 1: BoringForStudentList.addStudent(); break;
			case 2: BoringForStudentList.delStudent(); break;
			case 3: BoringForStudentList.setStudent(); break;
			case 4: BoringForStudentList.seaStudent(); break;
			case 5: BoringForStudentList.getStuNum(); break;
			case 6: BoringForStudentList.travelStu(); break;
			case 7: System.out.print("Thank you for using it! ");;System.exit(0);
			default: System.out.println("Input error!");
			}
		}
	}
	
	//add
	public static void addStudent(){
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		System.out.print("Please input name:");
		String name = in.nextLine();
		System.out.print("Please input sex:");
		String s = in.nextLine();
		char sex = s.charAt(0);
		//图方便,就写一个判断输入合法的。
		System.out.print("Please input id:");
		String id = in.nextLine();
		while(true){
			int num = 0;
			for(int i = 0; i<id.length(); i++){
				if(id.charAt(i)<'0' || id.charAt(i) > '9'){
					System.out.print("Your input is not valid. Please re input:");
					id = in.nextLine();
					num = 1;
					break;
				}		
			}
			if (num == 0)  break;
		}
		
		System.out.print("Please input age:");
		int age = in.nextInt();
		System.out.print("Please input grade:");
		int grade = in.nextInt();
		
		stu.add(new Student(name,sex,id,age,grade));
	}
	
	//delete
	public static void delStudent(){
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		System.out.print("Please input the student number "
				+ "of the student you deleted:");
		String id = in.nextLine();
		int num = 0;
		Student s = new Student();//注意局部变量
		for(int i = 0; i<stu.size(); i++){
			s = stu.get(i);
			if(id.equals(s.getId())){
				stu.remove(i);
				num = 1;
				break;
			}
		}
		if(num == 1)
			System.out.println("Delete success!"
					+ "The deleted students are\t" + s.toString());
		else
			System.out.println("Delete failed! The student was not found.");
	}

	//set
	public static void setStudent(){
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		System.out.print("Please input the student number "
				+ "of the student you set:");
		String id = in.nextLine();
		int num = 0;//判查找是否成功
		int index = 0;//记录查找的下标
		Student s = new Student();//注意局部变量
		
		//遍历学号。如果找到改学号则修改。
		for(int i = 0; i<stu.size(); i++){
			s = stu.get(i);
			//查找成功,修改学生信息
			if(id.equals(s.getId())){
				//输入学生信息
				System.out.println("Find this student\t"+s.toString());
				System.out.print("Please input name:");
				String name = in.nextLine();
				System.out.print("Please input sex:");
				String se = in.nextLine();
				char sex = se.charAt(0);
				System.out.print("Please input id:");
				String sid = in.nextLine();
						while(true){
							int n = 0;
							for(int j = 0; j<id.length(); j++){
								if(sid.charAt(i)<'0' || sid.charAt(i) > '9'){
									System.out.print("Your input is not valid. "
											+ "Please re input:");
									sid = in.nextLine();
									n = 1;
									break;
								}		
							}
							if (n == 0)  break;
						}
				
				System.out.print("Please input age:");
				int age = in.nextInt();
				System.out.print("Please input grade:");
				int grade = in.nextInt();
				index = i;
				num = 1;
				stu.set(index, new Student(name,sex,id,age,grade));//修改
				break;
			}
		}
		if(num == 1)
			System.out.println("The modification is successful."
					+ "Modified for\t" + stu.get(index));
		else
			System.out.println("Set failed! The student was not found.");
	}
	
	//search
	public static void seaStudent(){
		@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
		System.out.print("Please input the student number "
				+ "of the student you set:");
		String id = in.nextLine();
		int num = 0;//判查找是否成功
		Student s = new Student();
		for(int i = 0; i<stu.size(); i++){
			s = stu.get(i);
			if(s.getId().equals(id)){
				System.out.println("Find the student\t" + s.toString());
				num = 1;
				break;
			}
		}
		if(num == 0)
			System.out.println("The student was not found!");
	}

	//size
	public static void getStuNum(){
		System.out.println("The number of students is:" + stu.size());
	}
	
	//Travel round
	public static void travelStu(){
		for(int i = 0; i<stu.size(); i++)
			System.out.println("[Student]"+ (i+1)
					+"  "+ stu.get(i).toString());
		if(stu.size() == 0)
			System.out.println("No student information!");
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值