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有一個就可以了…
其他的沒什麼難度,還不如上次的楊輝三角

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章