• 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("*************************************************************** 
    " + 
                    "          -------大学信息科学与技术学院 
    " + 
                    "            学生信息管理系统 v2.0 
    " + 
                    "**************************************************************** 
    " + 
                    "            1、 遍历输出学生信息; 
    " + 
                    "            2、 新学生信息录入; 
    " + 
                    "            3、 删除学生信息; 
    " + 
                    "            4、 修改学生信息; 
    " + 
                    "            5、 查询学生信息; 
    " + 
                    "****************************************************************");
            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();
    
            
            }
        }
    }
     
     
     
  • 相关阅读:
    Push&Pop压栈出栈(你知道栈里存了什么东西吗?)
    为啥不管什么错误系统总会进HardFault_Handler(),看完这篇文章你就明白!
    MLX90620红外矩阵传感器驱动(基于传感器管理组件)
    APDS-9960手势检测、接近检测、数字环境光感(ALS)和色感(RGBC)传感器驱动(基于传感器管理组件)
    DHT11数字温度湿度传感器驱动(基于传感器管理组件)
    es6的一些新特性(1)
    js let var const区别
    vue的双向数据绑定原理
    BFC的概念及作用
    JS多重判断 / ES6 includes
  • 原文地址:https://www.cnblogs.com/20183544-wangzhengshuai/p/11375666.html
Copyright © 2020-2023  润新知