因为西安疫情的原因,我们很多考试都已经取消了,没有办法进行线下的考试,就连java程序设计也成了线上的考试。第一次写博客,就想着和大家一起交流,因为是初学者,很多地方也有做的不好的地方,请大家多多指教。顺便提一句,西安加油。
好了废话不多说,直接给大家贴上代码:
1,学生信息管理系统(这个应该大家写的最多的了,我给大家贴上):
(1),首先就是学生类:
public class Student {
private String name; // 姓名
private String sex; // 性别
private String nativePlace; // 籍贯
private String collage; // 学院
private String number; // 学号
public Student(String name, String sex, String nativePlace, String collage, String number) {
this.name = name;
this.sex = sex;
this.nativePlace = nativePlace;
this.collage = collage;
this.number = number;
}
public void setName(String name) {
this.name = name;
}
public void setSex(String sex) {
this.sex = sex;
}
public void setNativePlace(String nativePlace) {
this.nativePlace = nativePlace;
}
public void setCollage(String collage) {
this.collage = collage;
}
public void setNumber(String number) {
this.number = number;
}
// 需要统计籍贯为陕西的人数,男生女生人数,每个学院的人数
public String getSex() {
return this.sex;
}
public String getNativePlace() {
return this.nativePlace;
}
public String getCollage() {
return this.collage;
}
// 获取学生的学号
public String getNumber() {
return this.number;
}
public String getName() {
return this.name;
}
}
(2),学生类的测试类(我是基于集合进行存储和操作,如果有更好的方法,欢迎大家一起讨论)
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
System.out.println("输入学生人数:");
int num = new Scanner(System.in).nextInt();
mainMenu(list, num);
}
// 主界面方法
public static void mainMenu(List<Student> list, int num) {
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("6,退出");
System.out.println("====================");
System.out.println("欢迎使用,选择您想进行的操作序号:");
String no = new Scanner(System.in).nextLine();
switch (no) {
case "1":
insert(list, num);
insertStudentMessageToFile(list);
break;
case "2":
upDateStudentMessage(list, num);
insertStudentMessageToFile(list);
break;
case "3":
deleteStudentMessage(list, num);
insertStudentMessageToFile(list);
break;
case "4":
getStudentNumber(list, num);
break;
case "5":
findStudentMessgae(list,num);
break;
case "6":
System.out.println("谢谢使用,再见");
System.exit(0);
default:
System.out.println("只能输入1-5的序号,您输入有误");
}
}
}
// 添加学生信息;
public static void insert(List<Student> list, int num) {
for (int i = 0; i < num; i++) {
System.out.println("输入第" + (i+1) + "个学生的姓名:");
String name = new Scanner(System.in).nextLine();
System.out.println("输入第" + (i+1) + "个学生的学号:");
String number = new Scanner(System.in).nextLine();
System.out.println("输入第" + (i+1) + "个学生的性别:");
String sex = new Scanner(System.in).nextLine();
System.out.println("输入第" + (i+1) + "个学生的籍贯:");
String nativePlace = new Scanner(System.in).nextLine();
System.out.println("输入第" + (i+1) + "个学生的所在学院:");
String collage = new Scanner(System.in).nextLine();
Student stu = new Student(name, sex, nativePlace, collage, number);
list.add(stu);
}
}
// 统计籍贯为陕西的学生人数,以及男女生学生的人数
public static void getStudentNumber(List<Student> list, int num) {
if (list.size() == 0) {
System.out.println("还没有输入学生信息");
// 没有学生信息退出系统
System.exit(0);
}
int sxCount = 0, manCount = 0, womenCount = 0, computerCollega = 0, jidianCollega = 0;
for (int i = 0; i < num; i++) {
if (list.get(i).getNativePlace().equals("陕西省") || list.get(i).getNativePlace().equals("陕西")) {
sxCount++;
}
if (list.get(i).getSex().equals("男") || list.get(i).getSex().equals("男生")) {
manCount++;
} else {
womenCount++;
}
if (list.get(i).getCollage().equals("计算机学院") || list.get(i).getCollage().equals(&#