Java学习:用面向对象思想改写学生管理系统3.0版本

  • A+
所属分类:后端开发

简单的学习了面向对象,对面向对象的概念有了一定的了解。今天对学生管理系统结合前面所学进行简单的更新,如果对代码有疑惑请看前面写的注释《学生管理系统1.0版本》。本人小白,正在学习,请多多赐教!!

代码如下:

package com.sms;

import java.util.Arrays;
import java.util.Scanner;

public class SMS_OOP {
	static Scanner sc = new Scanner(System.in);
	static SMS_Student[] stu = {};

	public static void main(String[] args) {
		System.out.println("=================欢迎使用学生管理系统3.0版本=================");
		while (true) {
			System.out.println("1.添加学生 2.删除学生 3.修改学生 4.查看学生 5.学生列表 6.退出系统");
			int Type = sc.nextInt();
			if (Type == 1) {
				addstu();
			}
			if (Type == 2) {
				delStu();
			}
			if (Type == 3) {
				queStu();
			}
			if (Type == 4) {
				lookStu();
			}
			if (Type == 5) {
				lisStu();
			}
			if (Type == 6) {
				exitStu();
				break;
			}

		}
	}

	// 添加学生
	public static void addstu() {
		System.out.println("请输入要添加学生的学号:");
		String stuId = sc.next();
		System.out.println("请输入要添加学生的姓名:");
		String name = sc.next();
		System.out.println("请输入要添加学生的年龄:");
		int age = sc.nextInt();
		System.out.println("请输入要添加学生的性别:");
		String gender = sc.next();
		//创建学生对象,并对其进行初始化操作
		SMS_Student student = new SMS_Student(stuId, name, age, gender);
		//将创建的对象添加到学生数组中去
		stu = Arrays.copyOf(stu, stu.length + 1);
		stu[stu.length - 1] = student;
		System.out.println("添加成功!");
	}

	// 删除学生
	public static void delStu() {
		System.out.println("请输入要删除学生的学号:");
		String stuId = sc.next();
		boolean flag = false;
		for (int i = 0; i < stu.length; i++) {
			if (stuId.equals(stu[i].stuId)) {
				SMS_Student temp = stu[i];
				stu[i] = stu[stu.length -1];
				stu[stu.length-1] =temp;
				
				stu = Arrays.copyOf(stu, stu.length-1);
				System.out.println("删除成功!");
				flag = true;
			}
		}
		if (!flag) {
			System.out.println("删除失败!");
		}
	}

	// 修改学生
	public static void queStu() {
		System.out.println("请输入要修改学生的学号:");
		String stuId = sc.next();
		boolean flag = false;
		for (int i = 0; i < stu.length; i++) {
			if (stuId.equals(stu[i].stuId)) {
				System.out.println("请输入要修改学生的姓名:");
				stu[i].name = sc.next();
				System.out.println("请输入要修改学生的年龄:");
				stu[i].age = sc.nextInt();
				System.out.println("请输入要修改学生的性别:");
				stu[i].gender = sc.next();
				System.out.println("修改成功!");
				flag = true;
			}
		}
		if (!flag) {
			System.out.println("修改失败!");
		}
	}

	// 查看学生
	public static void lookStu() {
		System.out.println("请输入要查看学生的学号:");
		String stuId = sc.next();
		boolean flag = false;
		for (int i = 0; i < stu.length; i++) {
			if (stuId.equals(stu[i].stuId)) {
				System.out.println("为你找到:" + stu[i]);
				flag = true;
			}
		}
		if (!flag) {
			System.out.println("查询失败!");
		}
	}

	// 学生列表
	public static void lisStu() {
		System.out.println("学生列表如下:");
		for (int i = 0; i < stu.length; i++) {
			System.out.println(stu[i]);
		}
	}
	// 退出系统
	public static void exitStu() {
		System.out.println("退出系统成功!");
	}
}

 

创建一个对象:

package com.sms;

public class SMS_Student {
	String stuId;
	String name;
	int age;
	String gender;
	
	public SMS_Student() {
		super();
		// TODO Auto-generated constructor stub
	}

	public SMS_Student(String stuId, String name, int age, String gender) {
		super();
		this.stuId = stuId;
		this.name = name;
		this.age = age;
		this.gender = gender;
	}

	@Override
	public String toString() {
		return "SMS_Student [stuId=" + stuId + ", name=" + name + ", age=" + age + ", gender=" + gender + "]";
	}
}
  • 扫扫关注公众号
  • weinxin
  • 扫扫体验小程序
  • weinxin
亦枫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: