定义一个Student类,要求如下:
属性:学号
、姓名
、性别
、班级
(都使用字符串类型)
方法:
构造方法:2个参数(学号,姓名
),根据参数的值给对应属性赋值;
构造方法:4个参数(学号,姓名,性别,班级
),根据参数的值给对应属性赋值;
分别定义学号、姓名、性别、班级的getter访问器;
分别定义班级的setter访问器;
定义StudentManage类,要求如下:
属性:student(Student类型对象)scan(Scanner类型对象,用于进行输入)
方法:
无参构造方法:没有参数,先为属性scan创建对象,然后输入学号、姓名等信息,用这些信息作为实参调用Student类的构造方法为属性student创建对象。
showName方法: 利用参数传递,设置形参为一个字符串(要查询的学号),判断该学号与student对象的学号是否一致,如果一致则输出student对象的姓名。
showAll方法:利用参数传递,设置形参为一个字符串(要查询的学号),判断该学号与student对象的学号是否一致,如果一致则输出student对象的各个属性。
setClass方法:利用参数传递,设置形参为一个字符串(要查询的学号),判断该学号与student对象的学号是否一致,如果一致,则用户输入新的班级信息,并调用student对象的对应方法修改班级信息。
printMenu方法:
************************** 学生个人管理系统 *************************
1显示个人信息 2查询个人班级 3设置个人班级 0退出
********************************************************************
请输入你的选择:
work方法:循环操作:显示菜单,接收用户输入,并调用相关的方法进行操作,直到用户输入0则退出循环,关闭scan输入流。(我直接在main里写的)
package game;
import java.util.Arrays;
import java.util.Scanner;
public class Java上机作业4月10日 {
public static void main(String[] args) {
StudentManage stu = new StudentManage();
Scanner in = new Scanner(System.in);
stu.printMenu();
boolean S = true;
while(S) {
System.out.printf("请输入编号: ");
switch(in.nextInt()) {
case 1 : stu.showName(in.next());break;
case 2 : stu.showAll(in.next());break;
case 3 : stu.setClass(in.next());break;
case 0 : S = false ;break;
}
}
//stu.in.close() 一开始多写了个这个
in.close();
}
}
class Student {
private String number,name,sex,classic;
public Student() {
super();
}
public Student(String number, String name) {
this.number = number;
this.name = name;
}
public Student(String number, String name, String sex, String classic) {
//super();这是如果有super那么下一句就无法成立,super只能在第一个构造方法内使用
this(number,name);
this.sex = sex;
this.classic = classic;
}
public String Getter_Number() { return this.number; }
public String Getter_Name() { return this.name; }
public String Getter_Sex() { return this.sex; }
public String Getter_Classic() { return this.classic; }
public void Setter_Number(String number) { this.number = number; }
public void Setter_Name(String Name) { this.name = Name; }
public void Setter_Sex(String Sex) { this.sex = Sex; }
public void Setter_Classic(String Classic) { this.classic = Classic; }
}
class StudentManage {
private Student student = new Student();
Scanner in;
public StudentManage() {
super();
in = new Scanner(System.in);
System.out.println("输入名字");
student.Setter_Name(in.next());
System.out.println("输入学号");
student.Setter_Number(in.next());
System.out.println("输入性别");
student.Setter_Sex(in.next());
System.out.println("输入班级");
student.Setter_Classic(in.next());
}
public void showName(String search) {
if(search.equals(student.Getter_Name()))
System.out.println(student.Getter_Name());
}
public void showAll(String search) {
if(search.equals( student.Getter_Number() ) )
System.out.println(
student.Getter_Name()+"\n"+
student.Getter_Number()+"\n"+
student.Getter_Sex()+"\n"+
student.Getter_Classic());
}
public void setClass(String search) {
if(search.equals( student.Getter_Classic() ) )
student.Setter_Classic(in.next());
}
public void printMenu() {
System.out.println(
"************************** 学生个人管理系统 *********************************\r\n" +
"1显示个人信息 2查询个人班级 3设置个人班级 0退出\r\n" +
"*******************************************************************************");
}
}
总结
才知道close有一个就可以了…
其他的没什么难度,还不如上次的杨辉三角