//学生信息管理系统
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
class Student{
private String IDcard;
private int num;
private String name;
private int score;
public Student(){}
public String getIDcard(){
return IDcard;
}
public void setIDcard(String IDcard){
this.IDcard=IDcard;
}
public int getnum()
{
return num;
}
public void setnum(int num){
this.num=num;
}
public String getname(){
return name;
}
public void setname(String name){
this.name=name;
}
public int getscore(){
return score;
}
public void setscore(int score){
this.score=score;
}
}
class Scratch {
public static void main(String[] args) {
ArrayList<Student> s=new ArrayList<Student>();
while(true) {
System.out.println(" ");
System.out.println("\t******************************\n");
System.out.println("\t *******学生信息管理系统*******\n");
System.out.println("\t******************************\n");
System.out.println("\t1.存储学生信息\n");
System.out.println("\t2.查询学生信息\n");
System.out.println("\t3.排序学生信息\n");
System.out.println("\t4.插入学生信息\n");
System.out.println("\t5.删除学生信息\n");
System.out.println("\t6.展示所有学生信息\n");
System.out.println("\t7.退出\n");
Scanner input = new Scanner(System.in);
int choose = input.nextInt();
switch (choose) {
case 1:
create(s);break;
case 2:
find(s);break;
case 3:
rank(s);break;
case 4:
add(s);break;
case 5:
dele(s);break;
case 6:
show(s);break;
case 7:
return;
default:System.out.println("无效输入!");
}
}
}
//初始化学生信息,输入初始的学生数据
public static void create(ArrayList<Student> s){
Scanner input=new Scanner(System.in);
System.out.println("请输入学生的个数:");
int n= input.nextInt();
for(int i=0;i<n;i++)
{
System.out.println("请按身份证号 学号 姓名 成绩的格式输入第"+(i+1)+"个学生的信息:");
String IDcard,name;
int num,score;
IDcard=input.next();
num=input.nextInt();
name=input.next();
score=input.nextInt();
Student student=new Student();
student.setIDcard(IDcard);
student.setnum(num);
student.setname(name);
student.setscore(score);
s.add(student);
rank_1(s);
}
}
//查询功能,根据身份证号或学号查询学生信息
public static void find(ArrayList<Student> s){
System.out.println("请输入查询学生的身份证号或学号:");
Scanner input=new Scanner(System.in);
int num=input.nextInt();
String IDcard=Integer.toString(num);
for(int i=0;i<s.size();i++)
{
if(num==s.get(i).getnum()|| IDcard.equals(s.get(i).getIDcard()))
{
System.out.println("该学生的信息为:");
System.out.println("身份证号:"+s.get(i).getIDcard());
System.out.println("学号:"+s.get(i).getnum());
System.out.println("姓名:"+s.get(i).getname());
System.out.println("成绩:"+s.get(i).getscore());
return;
}
}
}
//排序功能,可根据学号或成绩排序
public static void rank(ArrayList<Student> s) {
int choose;
Scanner input = new Scanner(System.in);
System.out.println("1.按学号排序 2.按成绩排序");
System.out.println("请选择排序方式:");
choose = input.nextInt();
switch (choose) {
case 1:
for (int i = 0; i < s.size(); i++) {
for (int j = i; j < s.size(); j++) {
if (s.get(i).getnum() > s.get(j).getnum()) {
Student temp = new Student();
temp = s.get(i);
s.set(i, s.get(j));
s.set(j, temp);
}
}
}break;
case 2:
for (int i = 0; i < s.size(); i++) {
for (int j = i; j < s.size(); j++) {
if (s.get(i).getscore() < s.get(j).getscore()) {
Student temp = new Student();
temp = s.get(i);
s.set(i, s.get(j));
s.set(j, temp);
}
}
}break;
default:
System.out.println("无效输入!");
}
}
// 排序功能,根据学号排序(使用于插入和初始化学生信息)
public static void rank_1(ArrayList<Student> s) {
for (int i = 0; i < s.size(); i++) {
for (int j = i; j < s.size(); j++) {
if (s.get(i).getnum() > s.get(j).getnum()) {
Student temp = new Student();
temp = s.get(i);
s.set(i, s.get(j));
s.set(j, temp);
}
}
}
}
// 插入功能,增加新的学生信息
public static void add(ArrayList<Student> s){
Scanner input=new Scanner(System.in);
System.out.println("请输入插入学生的信息:");
String IDcard,name;
int num,score;
IDcard=input.next();
num=input.nextInt();
name=input.next();
score=input.nextInt();
Student student=new Student();
student.setIDcard(IDcard);
student.setnum(num);
student.setname(name);
student.setscore(score);
s.add(student);
rank_1(s);
}
// 删除功能,根据身份证号或学号删除学生信息
public static void dele(ArrayList<Student> s){
System.out.println("请输入删除学生的身份证号或学号:");
Scanner input=new Scanner(System.in);
int num=input.nextInt();
String IDcard=Integer.toString(num);
for(int i=0;i<s.size();i++)
{
if(num==s.get(i).getnum()|| IDcard.equals(s.get(i).getIDcard()))
{
s.remove(s.get(i));
}
}
}
// 展示功能,输出当前系统所有学生信息
public static void show(ArrayList<Student> s){
Iterator<Student> iterator=s.iterator();
int i=0;
if(iterator.hasNext()!=true){
System.out.println("系统中无学生信息!");
}
while(iterator.hasNext()){
Student temp=iterator.next();
i++;
System.out.println("第"+i+"位学生的信息为:");
System.out.println("身份证号:"+temp.getIDcard());
System.out.println("学号:"+temp.getnum());
System.out.println("姓名:"+temp.getname());
System.out.println("成绩:"+temp.getscore());
}
}
}
java学生信息管理系统
最新推荐文章于 2024-07-19 22:27:53 发布