程序员世界大冒险d12

今天java测试了,题目如下:
一、测试要求:
1、按照测试内容要求完成程序的设计与编程;
2、将最终结果的源文件(.java)文件汇总给课代表。
二、实验内容:
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)定义一个输入界面如下图所示,选择相应的数字执行相应的功能
***************************************************************
石家庄铁道大学软件工程系学生信息管理系统


1、 遍历输出学生信息;
2、 新学生信息录入;
3、 删除学生信息;
4、 修改学生信息;
5、 查询学生信息;


	(8)需要在程序开始的注释中注明班级、学号、姓名。

我写的源代码如下:
import java.util.Scanner;

class Student {
private String stunumber;
private String name;
private int age;
private boolean sex; // true为女,false为男
private double score;

public 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;
}

//Get 和Set
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 getSex() {
    return sex;
}

public void setSex(boolean sex) {
    this.sex = sex;
}

public double getScore() {
    return score;
}

public void setScore(double score) {
    this.score = score;
}

public void display()   //输出功能
{
    System.out.println("学号: " + stunumber);
    System.out.println("姓名: " + name);
    System.out.println("年龄: " + age);
    System.out.println("性别: " + (sex ? "女" : "男"));
    System.out.println("成绩: " + score);
}

}

public class StudentManager {
private static final int Max = 10;
private static Student[] students = new Student[Max]; //构建存放学生数据的数组
private static int count = 0;

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int choice = -1;
    String stunumber, name, deletenum, revisednum, searchnum;
    int age;
    boolean sex;
    double score;

    while (choice != 0) {
        //菜单界面
        System.out.println("***************************************************************");
        System.out.println("             石家庄铁道大学软件工程系学生信息管理系统");
        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("                0、退出");
        System.out.println("***************************************************************");
        choice = sc.nextInt();
        sc.nextLine(); // 清除换行符

        switch (choice) {
            case 1:  //遍历输出学生信息
                if (count == 0) {
                    System.out.println("没有学生信息!\n");
                } else {
                    for (int i = 0; i < count; i++) {
                        students[i].display();
                        System.out.println();
                    }
                }
                break;
            case 2:  //新学生信息输入
                if (count < Max) {
                    System.out.println("请输入学号:");
                    stunumber = sc.nextLine();
                    System.out.println("请输入学生姓名:");
                    name = sc.nextLine();
                    System.out.println("请输入学生年龄:");
                    age = sc.nextInt();
                    System.out.println("请输入性别(true为女,false为男):");
                    sex = sc.nextBoolean();
                    System.out.println("请输入学生成绩:");
                    score = sc.nextDouble();
                    students[count] = new Student(stunumber, name, age, sex, score);
                    count++;
                    System.out.println("学生信息录入成功!\n");
                } else {
                    System.out.println("存储学生达到上限!\n");
                }
                break;
            case 3:  //删除学生信息
                System.out.println("请输入要删除的学生学号:");
                deletenum = sc.nextLine();
                boolean foundToDelete = false;
                for (int i = 0; i < count; i++) {
                    if (students[i].getStunumber().equals(deletenum)) {
                        foundToDelete = true;
                        for (int j = i; j < count - 1; j++) {
                            students[j] = students[j + 1];
                        }
                        students[count - 1] = null;
                        count--;
                        System.out.println("删除成功!\n");
                        break;
                    }
                }
                if (!foundToDelete) {
                    System.out.println("未找到此学号的学生,请重新输入!\n");
                }
                break;
            case 4:  //修改学生信息
                System.out.println("请输入要修改的学生学号:");
                revisednum = sc.nextLine();
                boolean foundToModify = false;
                for (int i = 0; i < count; i++) {
                    if (students[i].getStunumber().equals(revisednum)) {
                        foundToModify = true;
                        System.out.println("请输入要修改的信息:");
                        System.out.println("请输入学号:");
                        stunumber = sc.nextLine();
                        System.out.println("请输入学生姓名:");
                        name = sc.nextLine();
                        System.out.println("请输入学生年龄:");
                        age = sc.nextInt();
                        System.out.println("请输入性别(true为女,false为男):");
                        sex = sc.nextBoolean();
                        System.out.println("请输入成绩:");
                        score = sc.nextDouble();
                        students[i] = new Student(stunumber, name, age, sex, score);
                        System.out.println("修改成功!\n");
                        break;
                    }
                }
                if (!foundToModify) {
                    System.out.println("未找到此学号的学生,请重新输入!\n");
                }
                break;
            case 5:  //查询学生信息
                System.out.println("请输入要查询的学生学号:");
                searchnum = sc.nextLine();
                boolean foundToSearch = false;
                for (int i = 0; i < count; i++) {
                    if (students[i].getStunumber().equals(searchnum)) {
                        foundToSearch = true;
                        students[i].display();
                        break;
                    }
                }
                if (!foundToSearch) {
                    System.out.println("未找到此学号的学生,请重新输入!\n");
                }
                break;
            case 0:  //退出系统
                System.out.println("退出系统。");
                break;
            default:
                System.out.println("输入错误,请重新输入!\n");
                break;
        }
    }
    sc.close();
}

}

posted on 2024-09-20 16:42  睡觉时候不困  阅读(19)  评论(0)    收藏  举报