天天看點

初學java-學生管理系統學生管理系統

初學java-學生管理系統

  • 學生管理系統

學習java有十來天了,從剛開始的一無所知到現在慢慢掌握一些基本文法。最近碰到一個設定學生系統的問題,與大家分享一下在設計過程中遇到的問題以及解決和了解的思路。當然,初學者有一些不嚴謹和錯誤的地方,希望各位大佬指出,謝謝。

學生管理系統

設計這個系統,有幾個功能:

1.能夠添加學生資訊

2.能夠檢視所有學生的資訊

3.能夠檢視指定姓名學生的資訊。

首先呢,說一下大緻的思路。看到這個系統,得建立一個學生類,還要建立一個存放學生資訊的數組類。學生類中有一些屬性,比如學生姓名,學生成績等等。剛開始,就遇到了一個開始不怎麼了解的問題,在數組類裡,需要存放學生資訊的數組。這裡首先想到的就是學生有幾個屬性,就建立幾個一維數組去儲存資訊,例如String[] name = new String[10]; int[] score=new int[10];等數組去儲存資訊,然後檢視的時候,就用數組下标輸出各個數組的對應資訊。但是這樣會麻煩一些,如果學生屬性過多,數組數量等也會變多。然後就碰到一個開始不了解的問題,用數組去儲存學生對象。在寫法上開始就不知道如何寫,後來想到,要去儲存Student類的對象,這裡就把Student看成基本資料類型,和基本資料類型一樣的定義數組。Student[] arr = new Student[10]; 隻要把Student看做一個基本資料類型,這裡就比較好了解了。寫添加學生方法的時候,就可以直接把學生對象做為參數,接下來就是寫出各個功能的方法,按照設計系統的邏輯,一步一步寫出來。最後呢,祝各位2019早生貴子。什麼?到2019了還沒找對象?那就去new一個吧~

數組類代碼

public class SuperArray {

	private Student[] arr;//存放Student對象的數組
	private int size;//表示數組中元素的個數
	
	//構造方法
	public SuperArray() {
		arr = new Student[10];
		size = 0;
	}
	
	//存放資料
	public void add(Student s) {
		arr[size] = s;//将Student對象存入數組中
		size++; //存一個,數組中元素個數加1
		 
		//判斷如果數組資料存放滿了,就要建立新數組
		if(arr.length == size) {
			//建立一個數組長度為原來長度兩倍的新數組
			Student[] newArr = new Student[arr.length * 2];
			//将原數組中的資料複制到新數組中
			for(int i = 0;i < size;i++) {
				newArr[i] = arr[i];
			}
			//将新數組的位址值賦給原數組,原數組就會指向新數組
			arr = newArr;
		}
	}
	
	//輸出所有學生資訊
	public void print() {
		for(int i = 0;i < size;i++) {
			System.out.println(arr[i]);
		}
	}
	
	//檢視指定姓名的學生
	public void get(String name) {
		//建立學生對象
		Student s = new Student();
		//先周遊所有學生
		for(int i = 0;i < size;i++) {
			s = arr[i];//某個學生對象在數組中的位置
			//判斷學生對象的姓名與輸入的姓名是否一緻
			if(name.equals(s.name)) {
				System.out.println(arr[i]);//如果一緻,就将該對象輸出
			}
		}
	}
	
	
}
           

學生類代碼

public class Student {
	
	public String name;
	public int score;
	
	//構造方法
	public Student() {
		
	}
	
	public Student(String name,int score) {
		this.name = name;
		this.score = score;
	}
	
	public String toString() {
		return "姓名:" + name + ",成績:" + score;
	}
}
           

測試類代碼

public class Test {

	public static void main(String[] args) {
		Student s1 = new Student("小赤", 98);
		Student s2 = new Student("小橙", 92);
		
		SuperArray superArray = new SuperArray();
		
		superArray.add(s1);
		superArray.add(s2);
		superArray.print();
		
		System.out.println("===============");
		superArray.get("小橙");

	}

}