天天看点

初学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("小橙");

	}

}