Re:从零开始的软工生活 #7

石家庄铁道大学2024年秋季
2024 级课堂测试试卷(一)
课程名称: JAVA语言程序设计 任课教师: 王建民 考试时间: 90 分钟

一、测试要求:
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)需要在程序开始的注释中注明班级、学号、姓名。

作答:
student类

点击查看代码
package student;

public class student {
    String stunumber;
    String name;
    int age;
    boolean sex;
    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;
    }



    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getScore() {
        return score;
    }

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

    public boolean getSex() {
        return sex;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getStunumber() {
        return stunumber;
    }

    public void setStunumber(String stunumber) {
        this.stunumber = stunumber;
    }
}

StudentManager类
点击查看代码
package student;

import java.util.Scanner;

public class StudentManager {
    public student[] stu=new student[5];
    Scanner in=new Scanner(System.in);
    public void showStudent(){

        if(stu!=null) {
            for (int i = 0; stu[i]!=null; i++) {
                System.out.println(stu[i].getStunumber());
                System.out.println(stu[i].getName());
                System.out.println(stu[i].getAge());
                if(stu[i].getSex()==true){
                    System.out.println("boy");
                }
                else System.out.println("girl");
                System.out.println(stu[i].getScore());
            }
        }
        else
            System.out.println("没有学生信息!\n");
    }

    public void addStudent (String stunumber,String name,int age,boolean sex,double score){//添加
        if(stu[0]==null) {
            stu[0] = new student(stunumber, name, age, sex, score);
            System.out.println("录入成功!\n");
        }
        else {
            for (int i = 0; i < stu.length; i++) {
                if (stu[i].getStunumber().equals(stunumber)) {
                    System.out.println("学号重复!\n");
                    break;
                } else if (stu[i] == null) {
                    System.out.println(stu[i].getStunumber());
                    System.out.println(stu[i].getName());
                    System.out.println(stu[i].getAge());
                    if(stu[i].getSex()==true){
                        System.out.println("boy");
                    }
                    else System.out.println("girl");
                    System.out.println(stu[i].getScore());
                    System.out.println("录入成功!\n");
                    break;
                }
            }
        }
    }

    public void deleteStudent(String stunumber) {//删除
        if(stu!=null) {
            int flag = 0;
            for (int i = 0; stu[i]!=null; i++) {
                if (stu[i].getStunumber().equals(stunumber)) {
                    for (int j = i; stu[j+1]!=null; j++) {
                        stu[j].setStunumber(stu[j + 1].getStunumber());
                        stu[j].setName(stu[j + 1].getName());
                        stu[j].setAge(stu[j + 1].getAge());
                        stu[j].setSex(stu[j + 1].getSex());
                        stu[j].setScore(stu[j + 1].getScore());
                    }
                    flag = 1;
                }
            }
            if (flag == 0) System.out.println("未找到该学号!\n");
            else if (flag == 1) System.out.println("删除成功!\n");
        }
        else
            System.out.println("没有学生信息!\n");
    }

    public void updateStudent (String stunumber){//更改学生信息
        if(stu!=null) {
            int flag = 0;
            for (int i = 0; stu[i]!=null; i++) {
                if (stu[i].getStunumber().equals(stunumber)) {
                    System.out.println("输入姓名、年龄、性别、成绩:\n");
                    String name=in.next();
                    int age=in.nextInt();
                    boolean sex=in.nextBoolean();
                    double score=in.nextDouble();
                    stu[i].setName(name);
                    stu[i].setAge(age);
                    stu[i].setSex(sex);
                    stu[i].setScore(score);

                    
                    System.out.println(stu[i].getStunumber());
                    System.out.println(stu[i].getName());
                    System.out.println(stu[i].getAge());
                    if(stu[i].getSex()==true){
                        System.out.println("boy");
                    }
                    else System.out.println("girl");
                    System.out.println(stu[i].getScore());
                    System.out.println("录入成功!\n");
                    flag = 1;
                }
            }
            if (flag == 0) System.out.println("未找到该学号!\n");
            else if (flag == 1) System.out.println("更改成功!\n");
        }
        else  System.out.println("没有学生信息!\n");
    }

    public void selectStudent(String stunumber){//查询学生信息
        if(stu!=null){
            int flag = 0;
            for (int i = 0; stu[i]!=null; i++) {
                if (stu[i].getStunumber().equals(stunumber)) {
                    System.out.println(stu[i].getStunumber());
                    System.out.println(stu[i].getName());
                    System.out.println(stu[i].getAge());
                    if(stu[i].getSex()==true){
                        System.out.println("boy");
                    }
                    else System.out.println("girl");
                    System.out.println(stu[i].getScore());
                    flag = 1;
                    break;
                }
            }
            if (flag == 0) System.out.println("未找到该学号!\n");
            else if (flag == 1) System.out.println("查找成功!\n");
        }
        else
            System.out.println("没有学生信息!\n");
    }
}

主类
点击查看代码
import student.StudentManager;
import java.util.*;
import java.util.Scanner;

/**
 * 班级 2305-1
 * 姓名 赵圣涵
 * 学号 20234415
 * */
public class Main {
    public static void main(String[] args) {
        StudentManager StuM=new StudentManager();
        Scanner in=new Scanner(System.in);
        int flag;
        do {
            System.out.println(
                    "***************************************************************\n" +
                            "\t\t\t石家庄铁道大学软件工程系学生信息管理系统\n" +
                            "****************************************************************\n" +
                            "\t\t\t\t\t1、\t遍历输出学生信息;\n" +
                            "\t\t\t\t\t2、\t新学生信息录入;\n" +
                            "\t\t\t\t\t3、\t删除学生信息;\n" +
                            "\t\t\t\t\t4、\t修改学生信息;\n" +
                            "\t\t\t\t\t5、\t查询学生信息;\n" +
                            "\t\t\t\t\t6、\t退出;\n" +
                            "****************************************************************\n");
            flag = in.nextInt();
            if (flag == 1) {//遍历
                StuM.showStudent();
            } else if (flag == 2) {//录入
                System.out.println("请输入学生的学号、姓名、年龄、性别、成绩:\n");
                String num = in.next();
                in.nextLine();
                String n = in.next();
                int age = in.nextInt();
                boolean sex = in.nextBoolean();
                double grade = in.nextDouble();
                StuM.addStudent(num, n, age, sex, grade);
            } else if (flag == 3) {//删除
                System.out.println("请输入8位学号:\n");
                String num = in.next();
                StuM.deleteStudent(num);
            } else if (flag == 4) {//修改
                System.out.println("请输入要更改的学生的学号:\n");
                String num = in.next();
                in.nextLine();
                StuM.updateStudent(num);
            } else if (flag == 5) {//查找
                System.out.println("请输入8位学号:\n");
                String num = in.next();
                StuM.selectStudent(num);
            }
        }while(flag!=6);
    }
}
以上,YA✰DA✰ZE
posted @ 2024-09-20 16:40  花落水无痕  阅读(20)  评论(0)    收藏  举报