设计要求
设计学生信息管理系统,实现以下功能:
(1)输入8名学生姓名、学号、性别、籍贯、所在学院;
(2)查询统计籍贯为陕西的学生人数,以及男生和女生的人数;
(3)统计每个学院的学生人数;
(4)输入学号查询学生的信息;
实现代码
package work.chengxu;
import javax.swing.*;
import java.util.*;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Stu {
private String name;//姓名
private String stuNum;//学号
private String sex;//性别
private String jiguan;//籍贯
private String xueyuan;//学院
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStuNum() {
return stuNum;
}
public void setStuNum(String stuNum) {
this.stuNum = stuNum;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getJiguan() {
return jiguan;
}
public void setJiguan(String jiguan) {
this.jiguan = jiguan;
}
public String getXueyuan() {
return xueyuan;
}
public void setXueyuan(String xueyuan) {
this.xueyuan = xueyuan;
}
static Stu[] Stu = new Stu[8];//定义学生数组,根据题目要求容量为8
static int number = 0;
static Scanner scanner = new Scanner(System.in);
public static void main(String args[]) {
int choice;
while (true) {
System.out.println("1 添加新的学生信息");
System.out.println("2 展示学生信息");
System.out.println("3 查询学生信息");
System.out.println("4 学生信息统计信息");
System.out.println("5 退出");
System.out.println("请输入输入相应数字选择要进行的操作:");
choice = scanner.nextInt();
if (choice == 5) break;
switch (choice) {
case 1:
add();
break;//添加学生信息
case 2:
show();
break;//展示学生信息
case 3:
query();
break;//查询学生信息
case 4:
tongji();
break;//统计籍贯为陕西的学生人数,以及男生和女生的人数;
}
}
System.out.println("\n结束");
}
static void add() {//添加学生信息
while (true) {
System.out.println("按任意键继续添加学生信息,按0结束");
if (scanner.nextInt() == 0) break;
System.out.println("输入该学生的学号,姓名,性别,籍贯,学院");
Stu[number] = new Stu();
Stu[number].setStuNum(scanner.next());
Stu[number].setName(scanner.next());
Stu[number].setSex(scanner.next());
Stu[number].setJiguan(scanner.next());
Stu[number].setXueyuan(scanner.next());
number++;
System.out.println("完成");
}
}
public class Log_ExceptionUtil {
public void writeEror_to_txt(String name,String stuNum,String sex,String jiguan,String xueyuan) throws IOException{
File F=new File("E:/TEST.txt");
//如果文件不存在,就动态创建文件
if(!F.exists()){
F.createNewFile();
}
FileWriter fw=null;
//writeDate 写入的内容1
String writeDate=name+""+ stuNum+""+ sex+""+jiguan+""+xueyuan;
try {
//设置为:True,表示写入的时候追加数据
fw=new FileWriter(F, true);
//回车并换行
fw.write(writeDate+"\r\n");
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fw!=null){
fw.close();
}
System.out.println("已保存到文件");
}
}
}
static void show() {//展示学生信息
System.out.println(" 学号 姓名 性别 籍贯 学院");
for (int i = 0; i < number; i++)
System.out.println(Stu[i].getStuNum() + "\t" + Stu[i].getName() + "\t" + "\t" + Stu[i].getSex() + "\t" + Stu[i].getJiguan() + "\t" + Stu[i].getXueyuan());
System.out.println();
}
static void tongji() {//统计籍贯为陕西的学生人数,以及男生和女生的人数
int shanxiren = 0, male = 0, female = 0;
Stu temp = new Stu();
for (int i = 0; i < 8; i++) {
if (Stu[i].getSex() == "男")
male++;
else
female++;
if (Stu[i].getJiguan() == "陕西")
shanxiren++;
System.out.println("籍贯为陕西的人数为:"+shanxiren+"男生人数为:"+male+"女生人数为:"+female+"\n\n\n\n");
}
}
static void query() {//用学号查询
System.out.println("请输入要查询的学生学号");
String Stunumber = scanner.next();
int i;
for (i = 0; i < number; i++) {
if (Stunumber.equals(Stu[i].getStuNum())) {
System.out.println(" 学号 姓名 性别 籍贯 学院");
System.out.println(Stu[i].getStuNum() + "\t" + Stu[i].getName() + "\t" + "\t" + Stu[i].getSex() + "\t" + Stu[i].getJiguan() + "\t" + Stu[i].getXueyuan());
}
}
}
}
运行结果
后面大家就可以自行输入对应功能前的序号,实现此系统的功能