java 學生信息管理


題目:

一、測試要求:
     1、按照測試內容要求完成程序的設計與編程;
     2、將最終結果的源文件(.java)文件上傳到以班級為單位,保存源程序。
     3、建立學號姓名文件夾,如:“20170001 管學生”,將源程序文件保存在文件夾中。
二、實驗內容:
     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)定義一個輸入界面如下圖所示,選擇相應的數字執行相應的功能
***************************************************************
                ---------信息科學與技術學院
                    學生信息管理系統 v2.0
****************************************************************
1、 遍歷輸出學生信息;
2、 新學生信息錄入;
3、 刪除學生信息;
4、 修改學生信息;
5、 查詢學生信息;
****************************************************************
 學生類:
public class Student {
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    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 isSex() {
        return sex;
    }
    public void setSex(boolean sex) {
        this.sex = sex;
    }
    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }
    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;
    }
}

管理學生類:

//import java.util.*;
import java.util.Scanner;
public class StudentManager {
    
    static int sum=0;
    static Scanner sc = null;
    static Student[] a = new Student[1000];
    
     
public static int systemMenu() {
         sc = new Scanner(System.in);
        System.out.println("*************************************************************** \n" + 
                "          -------大學信息科學與技術學院 \n" + 
                "            學生信息管理系統 v2.0 \n" + 
                "**************************************************************** \n" + 
                "            1、 遍歷輸出學生信息; \n" + 
                "            2、 新學生信息錄入; \n" + 
                "            3、 刪除學生信息; \n" + 
                "            4、 修改學生信息; \n" + 
                "            5、 查詢學生信息; \n" + 
                "****************************************************************");
        int ch;
        System.out.println("請選擇:");
        ch = sc.nextInt();
        return ch;
    }
    
public static void showStudent(){
        int i,f=0;
        for(i = 0 ;i < sum ;i++){
            if(a[i].stunumber == null) {
                f++;
                continue;
            }
            System.out.println("第"+(i+1-f)+"名學生的學號為:"+a[i].stunumber);
            System.out.println("第"+(i+1-f)+"名學生的姓名為:"+a[i].name);
            if(a[i].isSex())
               System.out.println("第"+(i+1-f)+"名學生的性別為:女");
            else
               System.out.println("第"+(i+1-f)+"名學生的性別為:男");    
            System.out.println("第"+(i+1-f)+"名學生的年齡為:"+a[i].age);
            System.out.println("第"+(i+1-f)+"名學生的成績為:"+a[i].score);
        }
        sum=sum-f;
    }
    
public static void addStudent(String stunumber,String name,int age,boolean sex,double score){
        
    int k;
    for(k=0;k<sum;k++) {
        if( a[k].stunumber == stunumber ) {
            System.out.println("您輸入的學號與之前有重復,請檢查后重新輸入");
            return;
        }
    }
    
    a[sum] = new Student(stunumber,name,age,sex,score);

    sum++;
    }

public static void fristInput() {
    int i=0;
    System.out.println("請問是否繼續初始創建,是請輸入:1,否請輸入:0");
    i = sc.nextInt();
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    while(i == 1) {
        stunumber = sc.next();
        name = sc.next();
        age = sc.nextInt();
        sex = sc.nextBoolean();
        score = sc.nextDouble();
        StudentManager.addStudent(stunumber,name,age,sex,score);
        
        System.out.println("請問是否繼續初始創建,是請輸入:1,否請輸入:0");
        i = sc.nextInt();
    }
    
}

public static void deleteStudent(String stunumber){
    int k;
    for(k=0;k<sum;k++) {
        if(a[k].stunumber.compareTo(stunumber)==0) {
            a[k].stunumber = null;
            a[k].name = null;
            a[k].age = 0;
            a[k].score = 0.0;
        }
    }
}

public static void updateStudent(String stunumber,String name,int age,boolean sex,double score) {
    int k;
    for(k=0;k<sum;k++) {
        if(a[k].stunumber.compareTo(stunumber)==0) {
            a[k].stunumber = stunumber;
            a[k].name = name;
            a[k].age = age;
            a[k].sex = sex;
            a[k].score = score;
        }
    }
}

public static void selectStudent(String stunumber){
    int k;
    for(k=0;k<sum;k++) {
        
        if( a[k].stunumber.compareTo(stunumber)==0 ) {
            System.out.println("您要查詢的名學生的學號為:"+a[k].stunumber);
            System.out.println("此學生的姓名為:"+a[k].name);
            if(a[k].isSex())
                System.out.println("此學生的性別為:女");
            else
                System.out.println("此學生的性別為:男");    
            System.out.println("此學生的年齡為:"+a[k].age);
            System.out.println("此學生的成績為:"+a[k].score);
            return;
        }
    }
    System.out.println("沒有學號為:"+stunumber+"的學生");
}

public static void main(String[] args){
    
    sc = new Scanner(System.in);
    int choose,k1;
    String stunumber;
    String name;
    int age;
    boolean sex;
    double score;
    System.out.println("現在是初始創建五名學生信息,請輸入學生信息(格式:學號 姓名 年齡 性別 成績):");
       for(k1=0;k1<5;k1++) {   
          stunumber = sc.next();
          name = sc.next();
          age = sc.nextInt();
          sex = sc.nextBoolean();
          score = sc.nextDouble();
          StudentManager.addStudent(stunumber,name,age,sex,score);
       }
    sum=5; 
    fristInput();
    choose = systemMenu();
    while(choose<=5&&choose>=1) {
        
        switch (choose) {
        case 1:
            StudentManager.showStudent();
            break;
        case 2:
            int n,i,s=0;
            System.out.println("請輸入添加學生信息的個數:");
            n = sc.nextInt();
            s=sum+n;
            for(i=sum;i<s;i++) {
                stunumber = sc.next();
                name = sc.next();
                age = sc.nextInt();
                sex = sc.nextBoolean();
                score = sc.nextDouble();
                StudentManager.addStudent(stunumber,name,age,sex,score);
            }
            break;
        case 3:
            stunumber = sc.next();
            StudentManager.deleteStudent(stunumber);
            break;
        case 4:
            stunumber = sc.next();
            name = sc.next();
            age = sc.nextInt();
            sex = sc.nextBoolean();
            score = sc.nextDouble();
            StudentManager.updateStudent(stunumber,name,age,sex,score);
            break;    
        case 5:
            stunumber = sc.next();
            StudentManager.selectStudent(stunumber);
            break;
            
        }
        
        choose = systemMenu();

        
        }
    }
}
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM