java 学生信息管理

题目:

一、测试要求:
     1、按照测试内容要求完成程序的设计与编程;
     2、将最终结果的源文件(.java)文件上传到以班级为单位,保存源程序。
     3、建立学号姓名文件夹,如:“20170001 管学生”,将源程序文件保存在文件夹中。
二、实验内容:
     1、定义 student 类,其中包括五个私有变量(stunumber,name,age,sex,score)。
          各成员的含义如下:
                                变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成)。
                                变量 name 为字符串类型 String,用于存储学生的姓名。
                                变量 age 为 int 类型,用于存储学生的年龄。
                                变量 sex 为 boolean 类型,用于存储学生的性别,男生为 false,女生为true。变量 score 为 double 类型,用于存储学生的成绩。
          并对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。赋初值方法包括五个参数,用于为变量(stunumber ,name,age,sex 和score)赋值。
2、定义 StudentManager 类实现下列要求。
  (1)利用数组实现至少存储五个学生的信息;(将考生信息作为第一条记录)。
  (2)定义 showStudent()方法打印输出所有的学生信息;
  (3)定义 addStudent (stunumber,name,age,sex,score)方法增加一名新学生的信息,需要判断学号是否重复,如果重复提示用户,并禁止增加新学生信息;
  (4)定义 deleteStudent(stunumber)方法删除一名学生信息(将该学生所有信息清空);
  (5)定义 updateStudent (stunumber,name,age,sex,score)方法修改学生信息;
  (6)定义 selectStudent(stunumber)查询并且输出该名学生的全部信息。
  (7)定义一个输入界面如下图所示,选择相应的数字执行相应的功能
***************************************************************
                ---------信息科学与技术学院
                    学生信息管理系统 v2.0
****************************************************************
1、 遍历输出学生信息;
2、 新学生信息录入;
3、 删除学生信息;
4、 修改学生信息;
5、 查询学生信息;
****************************************************************
 学生类:
public class Student {
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    public String getStunumber() {
        return stunumber;
    }
    public void setStunumber(String stunumber) {
        this.stunumber = stunumber;
    }
    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 boolean isSex() {
        return sex;
    }
    public void setSex(boolean sex) {
        this.sex = sex;
    }
    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }
    Student(String stunumber,String name,int age,boolean sex,double score)
    {
        this.stunumber=stunumber;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.score = score;
    }
}

管理学生类:

//import java.util.*;
import java.util.Scanner;
public class StudentManager {
    
    static int sum=0;
    static Scanner sc = null;
    static Student[] a = new Student[1000];
    
     
public static int systemMenu() {
         sc = new Scanner(System.in);
        System.out.println("*************************************************************** \n" + 
                "          -------大学信息科学与技术学院 \n" + 
                "            学生信息管理系统 v2.0 \n" + 
                "**************************************************************** \n" + 
                "            1、 遍历输出学生信息; \n" + 
                "            2、 新学生信息录入; \n" + 
                "            3、 删除学生信息; \n" + 
                "            4、 修改学生信息; \n" + 
                "            5、 查询学生信息; \n" + 
                "****************************************************************");
        int ch;
        System.out.println("请选择:");
        ch = sc.nextInt();
        return ch;
    }
    
public static void showStudent(){
        int i,f=0;
        for(i = 0 ;i < sum ;i++){
            if(a[i].stunumber == null) {
                f++;
                continue;
            }
            System.out.println("第"+(i+1-f)+"名学生的学号为:"+a[i].stunumber);
            System.out.println("第"+(i+1-f)+"名学生的姓名为:"+a[i].name);
            if(a[i].isSex())
               System.out.println("第"+(i+1-f)+"名学生的性别为:女");
            else
               System.out.println("第"+(i+1-f)+"名学生的性别为:男");    
            System.out.println("第"+(i+1-f)+"名学生的年龄为:"+a[i].age);
            System.out.println("第"+(i+1-f)+"名学生的成绩为:"+a[i].score);
        }
        sum=sum-f;
    }
    
public static void addStudent(String stunumber,String name,int age,boolean sex,double score){
        
    int k;
    for(k=0;k<sum;k++) {
        if( a[k].stunumber == stunumber ) {
            System.out.println("您输入的学号与之前有重复,请检查后重新输入");
            return;
        }
    }
    
    a[sum] = new Student(stunumber,name,age,sex,score);

    sum++;
    }

public static void fristInput() {
    int i=0;
    System.out.println("请问是否继续初始创建,是请输入:1,否请输入:0");
    i = sc.nextInt();
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    while(i == 1) {
        stunumber = sc.next();
        name = sc.next();
        age = sc.nextInt();
        sex = sc.nextBoolean();
        score = sc.nextDouble();
        StudentManager.addStudent(stunumber,name,age,sex,score);
        
        System.out.println("请问是否继续初始创建,是请输入:1,否请输入:0");
        i = sc.nextInt();
    }
    
}

public static void deleteStudent(String stunumber){
    int k;
    for(k=0;k<sum;k++) {
        if(a[k].stunumber.compareTo(stunumber)==0) {
            a[k].stunumber = null;
            a[k].name = null;
            a[k].age = 0;
            a[k].score = 0.0;
        }
    }
}

public static void updateStudent(String stunumber,String name,int age,boolean sex,double score) {
    int k;
    for(k=0;k<sum;k++) {
        if(a[k].stunumber.compareTo(stunumber)==0) {
            a[k].stunumber = stunumber;
            a[k].name = name;
            a[k].age = age;
            a[k].sex = sex;
            a[k].score = score;
        }
    }
}

public static void selectStudent(String stunumber){
    int k;
    for(k=0;k<sum;k++) {
        
        if( a[k].stunumber.compareTo(stunumber)==0 ) {
            System.out.println("您要查询的名学生的学号为:"+a[k].stunumber);
            System.out.println("此学生的姓名为:"+a[k].name);
            if(a[k].isSex())
                System.out.println("此学生的性别为:女");
            else
                System.out.println("此学生的性别为:男");    
            System.out.println("此学生的年龄为:"+a[k].age);
            System.out.println("此学生的成绩为:"+a[k].score);
            return;
        }
    }
    System.out.println("没有学号为:"+stunumber+"的学生");
}

public static void main(String[] args){
    
    sc = new Scanner(System.in);
    int choose,k1;
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    System.out.println("现在是初始创建五名学生信息,请输入学生信息(格式:学号 姓名 年龄 性别 成绩):");
       for(k1=0;k1<5;k1++) {   
          stunumber = sc.next();
          name = sc.next();
          age = sc.nextInt();
          sex = sc.nextBoolean();
          score = sc.nextDouble();
          StudentManager.addStudent(stunumber,name,age,sex,score);
       }
    sum=5; 
    fristInput();
    choose = systemMenu();
    while(choose<=5&&choose>=1) {
        
        switch (choose) {
        case 1:
            StudentManager.showStudent();
            break;
        case 2:
            int n,i,s=0;
            System.out.println("请输入添加学生信息的个数:");
            n = sc.nextInt();
            s=sum+n;
            for(i=sum;i<s;i++) {
                stunumber = sc.next();
                name = sc.next();
                age = sc.nextInt();
                sex = sc.nextBoolean();
                score = sc.nextDouble();
                StudentManager.addStudent(stunumber,name,age,sex,score);
            }
            break;
        case 3:
            stunumber = sc.next();
            StudentManager.deleteStudent(stunumber);
            break;
        case 4:
            stunumber = sc.next();
            name = sc.next();
            age = sc.nextInt();
            sex = sc.nextBoolean();
            score = sc.nextDouble();
            StudentManager.updateStudent(stunumber,name,age,sex,score);
            break;    
        case 5:
            stunumber = sc.next();
            StudentManager.selectStudent(stunumber);
            break;
            
        }
        
        choose = systemMenu();

        
        }
    }
}
 
 
 
posted @ 2019-08-19 10:32  程序那点事  阅读(1111)  评论(0编辑  收藏  举报