面向过程中学生管理系统的实现

学生管理系统测试类

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

import lanou1.Student1;

public class StudentTest4 {
public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	ArrayList<Student1> list = new ArrayList<>();
	lo: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("请输入您的选择");
		int  num = sc.nextInt();
		
		switch (num) {
		case 1:
			addStudent(list);//添加学生的方法
			//System.out.println("添加学生");
			break;
		case 2:
			deleteStudent(list);
			//System.out.println("删除学生");
			break;
		case 3:
			updateStudentlist();
			//System.out.println("修改学生");
		break;
		case 4:
			queryStudent(list);
			//System.out.println("删除学生");
			
		break;
		case 5:
			System.out.println("感谢您的使用");
			break lo;
		default:
			System.out.println("您的输入有误,请重新输入");
			break;
	}
		
	
	}
}

public static void updateStudentlist(ArrayList<Student1>list) {
	Scanner sc = new Scanner(System.in);
	String updateSid = sc.next();
	int index = getIndex(list,updateSid);
	if(index==-1) {
		System.out.println("查无信息,请重新输入");
	}else {
		list.remove(index);
		System.out.println("请输入新的学生姓名");
		String name  = sc.next();
		System.out.println("请输入新的学生年龄");
		int age = sc.nextInt();
		System.out.println("请输入新的学生生日");
		String bir = sc.next();
		//封装为新的学生对象
		Student1 stu = new Student1(updateSid,name,age,bir);
		list.set(index, stu);
		System.out.println("修改成功!");
	}
}

public static void deleteStudent(ArrayList<Student1> list) {
	System.out.println("请输入您要删除的学生学号");
	//键盘接收要删除的学生学号
	Scanner sc = new Scanner(System.in);
	String deleteSid = sc.next();
		
	//调用getIndex方法,查找该学号在集合中出现的索引位置
	int index = getIndex(list, deleteSid);
	
	//根据索引,判断学号在集合中是否存在
	if(index==-1) {
		System.out.println("查无信息,请重新输入");
	}else {
		list.remove(index);
		System.out.println("删除成功!");
	}
		
	//存在.删除.不存在,
	
}

public static int getIndex(ArrayList<Student1> list,String sid) {
	int index = -1;
	for(int i = 0;i<=list.size();i++) {
		//遍历集合,获取集合中的每个元素
		Student1 stu = list.get(i);
		//获取每个对象的学号
		String id  = stu.getSid();
		//使用获取的学生学号,和传入的学生学号进行比对
		if(id.equals(sid)) {
			//存在,让index变量记录正确的索引位置
			index= i;
		}
	}
	return index;
}

public static void queryStudent(ArrayList<Student1>list) {
//判断集合中是否存在数据,如果不存在直接给出提示信息
	//存在时展现表头信息
	//遍历集合,打印集合中的每个元素
if(list.size()==0) {
	System.out.println("无信息,请添加后重新查看");
	return;
	}
	System.out.println("学号\t姓名\t年龄\t生日");
	for(int i = 0;i<=list.size();i++) {
		Student1 stu = list.get(i);
		System.out.println(stu.getSid()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getBir());
	}
}
public static Student1 addStudent(ArrayList<Student1>list) {
	//给出录入的提示信息
	//将键盘录入的学生信息封装成对象
	//将学生对象存入数组
	//给出添加成功的信息
	Scanner sc = new Scanner(System.in);
	String sid;
	while(true) {
		System.out.println("请输入学生学号");
		sid = sc.next();
		int index =getIndex(list, sid);
		if(index ==-1) {
			System.out.println("您输入的学号已被占用,请重新输入");
		}else
			break;
	}
	
	System.out.println("请输入学生姓名");
	String name = sc.next();
	System.out.println("请输入学生年龄");
	int age = sc.nextInt();
	System.out.println("请输入学生生日");
	String bir = sc.next();
	Student1 stu  = new Student1(sid,name,age,bir);
	list.add(stu);
	return stu;
}
}

封装类

public class Student1 {
private String sid;//学号
private String name;
private int age;
private String bir;
public Student1() {

}
public Student1(String sid, String name, int age, String bir) {
	super();
	this.sid = sid;
	this.name = name;
	this.age = age;
	this.bir = bir;
}
public String getSid() {
	return sid;
}
public void setSid(String sid) {
	this.sid = sid;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}
public String getBir() {
	return bir;
}
public void setBir(String bir) {
	this.bir = bir;
}


}
1、把6个java文件保存到同一文件夹,例如C:\Student.然后将6个java文件分别编译生成相应的字节码(.class)文件,然后,用java 解释器运行主类:C:\Student\java StudentManager 2、使用jar.exe把一些文件压缩成JAR文件,来发布我们的应用程序。我们可以把本java应用程序涉及到的类文件(*.class)压缩成一个JAR文件,例如StudentManager.jar。 首先,用记事本编写一个清单文件(Manifestfiles): Manifest-Version: 1.0 Main-class: StudentManager Created-By: 1.2.2(Sun Microsystems Inc.) 例如,清单文件命名为moon.mf,保存到C:\Student。 注意:在编写清单文件时,在“Manifest-Version:”和“1.0”之间,“Main-class:”和“StudentManager”之间,以及在“Created-By:”和“1.2.2(Sun Microsystems Inc.)”之间必须有且只有一个空格。 然后,如下生成JAR文件: C:\Student\jar cvfm StudentManager.jar moon.mf *.class 其,参数C表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字,m表示文件清单文件的名字,v表示生成详细输出到标准输出上。具体运行jar命令请查看 现在就可以将StudentManager.jar拷贝到任何一个安装了java运行环境(jdk版本号须高于1.2.2)的计算机上,只要鼠标双击StudentManager.jar文件就可以运行该java应用程序了。 注意在装了WinRAR解压缩软件的机子上可能不能运行,因此,在发布本系统时,还应该建立一个有如下内容的.bat文件(StudentManager.bat),用记事本编写: javaw -jar StudentManager.jar 保存即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值