今天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();
}
}
浙公网安备 33010602011771号