码迷,mamicode.com
首页 > 其他好文 > 详细

小练习---班级学生管理系统

时间:2015-07-24 22:26:07      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

要求:

  实现以下功能:

    ①添加一个班级;

    ②往班级中添加学生;

    ③查询班级,学生;    

    ④删除班级,学生;

分析:

  对象:

    ①班级:班级编号,班级名称,学生数组;

    ②学生:学号,姓名,性别,年龄;

在Myeclipse中完成:新建4个类

  ①Student  

package StudentManagement;

public class Student {
		private String sno;
		private String sname;
		private String ssex;
		private int sage;
		public Student() {
			super();
		}
		public Student(String sno, String sname, String ssex, int sage) {
			super();
			this.sno = sno;
			this.sname = sname;
			this.ssex = ssex;
			this.sage = sage;
		}
		public String getSno() {
			return sno;
		}
		public void setSno(String sno) {
			this.sno = sno;
		}
		public String getSname() {
			return sname;
		}
		public void setSname(String sname) {
			this.sname = sname;
		}
		public String getSsex() {
			return ssex;
		}
		public void setSsex(String ssex) {
			this.ssex = ssex;
		}
		public int getSage() {
			return sage;
		}
		public void setSage(int sage) {
			this.sage = sage;
		}
		
}

  ②Class

package StudentManagement;

public class Class {
		private String cno;
		private String cname;
		private Student[] stus;
		private int size;
		private int count=0;
		public Class() {
			this.size=10;
			stus=new Student[this.size];
		}
		public Class(String cno, String cname,  int size) {
			super();
			this.cno = cno;
			this.cname = cname;
			this.size = size;
			stus=new Student[this.size];
		}
		public String getCno() {
			return cno;
		}
		public void setCno(String cno) {
			this.cno = cno;
		}
		public String getCname() {
			return cname;
		}
		public void setCname(String cname) {
			this.cname = cname;
		}
		public Student[] getStus() {
			return stus;
		}
		public void setStus(Student[] stus) {
			this.stus = stus;
		}
		public int getSize() {
			return size;
		}
		public void setSize(int size) {
			this.size = size;
		}
		public int getCount() {
			return count;
		}
		public void setCount(int count) {
			this.count = count;
		}
		
		public void addStudent(Student stu){
			if(count<stus.length){
				stus[count]=stu;
				count++;
				System.out.println("添加学生成功!");
			}else{
				System.out.println("班级人数已满!");
			}
		}
		
}

  ③ManageService

package StudentManagement;

import java.util.Scanner;

public class ManageService {
	private Class[] classes;
	
	private int size;
	private int count = 0;
	public ManageService() {
		this.size = 10;
		classes = new Class[this.size];
	}
	public ManageService(int size) {
		this.size = size;
		classes = new Class[this.size];
	}
	
	public void addClazz(Class c){
		if(count<classes.length){
			classes[count] = c;
			count++;
			System.out.println("班级添加成功!");
		}else{
			System.out.println("班级数量达到上限,不能添加班级!");
		}
	}
	
	public void printAllClass(){
		System.out.println("班级编号\t班级名称");
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				System.out.println(c.getCno()+"\t"+c.getCname());
			}
		}
	}
	
	public Class getClassByNo(String cno){
		Class clazz = null;
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				if(c.getCno().equals(cno)){
					clazz = c;
				}
			}else{
				break;
			}
			
		}
		return clazz;
	}
	
	public Student[] getStusByClass(String cno){
		Student[] stus = null;
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				if(c.getCno().equals(cno)){
					stus = c.getStus();
				}
			}else{
				break;
			}
		}
		return stus;
	}

	public Student getStuByNo(String sno){
		Student stu = null;
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				Student[] stus = c.getStus();
				for(int j=0;j<stus.length;j++){
					Student s = stus[j];
					if(s!=null){
						if(s.getSno().equals(sno)){
							stu = s;
						}
					}else{
						break;
					}
				}
			}else{
				break;
			}
		}
		return stu;
	}

	public void deleteStuByNo(String sno){
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				Student[] stus = c.getStus();
				for(int j=0;j<stus.length;j++){
					Student s = stus[j];
					if(s!=null){
						if(s.getSno().equals(sno)){
							stus[j] = null;
						}
					}else{
						break;
					}
				}
			}else{
				break;
			}
		}
	}
	
	public void deleteClassByNo(String cno){
		for(int i=0;i<classes.length;i++){
			Class c = classes[i];
			if(c!=null){
				if(c.getCno().equals(cno)){
					classes[i]=null;
				}
		}else{
			break;
		}
	}
}
	
	
	public void run(){
		System.out.println("欢迎来到苏大学生管理系统!");
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.println("1.添加班级,2.添加学生,3.查看班级,4.查看学生,5.删除学生,6.删除班级,7.退出");
			String comd = sc.next();
			if(comd.equals("1")){
				System.out.println("请输入班级编号:");
				String cno = sc.next();
				Class c = getClassByNo(cno);
				if(c==null){
					System.out.println("请依次输入班级名称,人数:");
					String cname = sc.next();
					int size = sc.nextInt();
					c = new Class(cno, cname, size);
					addClazz(c);
				}else{
					System.out.println("班级已经存在!");
				}
			}else if(comd.equals("2")){
				System.out.println("请输入班级编号:");
				String cno = sc.next();
				Class c = getClassByNo(cno);
				if(c!=null){
					System.out.println("请依次输入学号,姓名,性别,年龄:");
					String sno = sc.next();
					String sname = sc.next();
					String ssex = sc.next();
					int sage=sc.nextInt();
					Student stu = new Student(sno, sname, ssex, sage);
					c.addStudent(stu);
				}else{
					System.out.println("班级不存在!");
				}
				
			}else if(comd.equals("3")){
				printAllClass();
			}else if(comd.equals("4")){
				System.out.println("1.根据班级查看,2.查看学生个人详情");
				String type = sc.next();
				if(type.equals("1")){
					System.out.println("请输入班级编号:");
					String cno = sc.next();
					Student[] stus = getStusByClass(cno);
					if(stus!=null){
						System.out.println("学号\t姓名\t性别\t年龄");
						for(int j=0;j<stus.length;j++){
							Student s = stus[j];
							if(s!=null){
								System.out.println(s.getSno()+"\t"+s.getSname()+"\t"+s.getSsex()+"\t"+s.getSage());
							}else{
								break;
							}
							
						}
					}else{
						System.out.println("班级不存在,或该班级暂无学生!");
					}
					
				}else if(type.equals("2")){
					System.out.println("请输学号:");
					String sno = sc.next();
					Student stu = getStuByNo(sno);
					if(stu!=null){
						System.out.println("学号\t姓名\t性别\t年龄");
						System.out.println(stu.getSno()+"\t"+stu.getSname()+"\t"+stu.getSno()+"\t"+stu.getSage());
					}else{
						System.out.println("学生"+sno+"不存在!");
					}
				}
				
			}else if(comd.equals("5")){
				System.out.println("请输学号:");
				String sno = sc.next();
				Student stu = getStuByNo(sno);
				if(stu!=null){
					deleteStuByNo(sno);
					System.out.println("删除成功!");
				}else{
					System.out.println("学生"+sno+"不存在!");
				}
				
				
			}else if(comd.equals("6")){
				System.out.println("请输班级编号:");
				String cno = sc.next();
				Class c = getClassByNo(cno);
				if(c!=null){
					deleteClassByNo(cno);
					System.out.println("删除成功!");
				}else{
					System.out.println("班级"+cno+"不存在!");
					}
				}else if(comd.equals("7")){
				System.out.println("系统退出!");
				System.exit(0);
			}else{
				System.out.println("命令不合法!");
			}
		}
	}
}

  ④App

package StudentManagement;

public class App {

	public static void main(String[] args) {
		ManageService ss=new ManageService(5);
		ss.run();
	}

}

  

小练习---班级学生管理系统

标签:

原文地址:http://www.cnblogs.com/Triste-qifei/p/4674916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!