Java 上机作业2020.4.10

定义一个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上机作业410{
    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有一个就可以了…
其他的没什么难度,还不如上次的杨辉三角

发布了24 篇原创文章 · 获赞 11 · 访问量 2190

猜你喜欢

转载自blog.csdn.net/weixin_45696526/article/details/105430469