源码分析

Course.java

 package com.ftl.many2many;

 import java.util.*;

 public class Course
{
private int credit;
private String name;
private List<Student> allStudent;
public int getCredit()
{
return credit;
}
public void setCredit(int credit)
{
this.credit = credit;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public List<Student> getAllStudent()
{
return allStudent;
}
public void setAllStudent(List<Student> allStudent)
{
this.allStudent = allStudent;
}
public Course()
{
this.allStudent = new ArrayList<Student>();
}
public Course(String name, int credit)
{
this();
this.setCredit(credit);
this.setName(name);
} public String toString()
{
return "课程名称:" + this.name + "\t课程学分:" + this.credit;
}
}

School.java

 package com.ftl.many2many;

 import java.io.*;
import java.util.*;
public class School
{
private String name;
private List<Student> allStudent;
public School()
{
this.allStudent = new ArrayList<Student>();
}
public School(String name)
{
this();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Student> getAllStudent() {
return allStudent;
}
public void setAllStudent(List<Student> allStudent) {
this.allStudent = allStudent;
}
public String toString()
{
return "学校姓名" + this.name;
} }

Student.java

 package com.ftl.many2many;

 import java.util.*;
public class Student
{
private int age;
private String name;
private School school;
private List<Course> allCourse; public Student()
{
this.allCourse = new ArrayList<Course>();
}
public Student(String name, int age)
{
this();
this.setName(name);
this.setAge(age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public School getSchool() {
return school;
}
public void setSchool(School school) {
this.school = school;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<Course> getAllCourse() {
return allCourse;
}
public void setAllCourse(List<Course> allCourse) {
this.allCourse = allCourse;
}
public String toString()
{
return "学生姓名:" + this.name + "\t 年龄:" + this.age;
}
}

testDemo.java

 package com.ftl.many2many;

 import java.util.Iterator;

 public class testDemo
{
public static void main(String[] args)
{
School sch = new School("海风大学");
Student s1 = new Student("张三", 12);
Student s2 = new Student("赵四", 22);
Student s3 = new Student("张5", 11);
Course c1 = new Course("计算机", 3);
Course c2 = new Course("语文", 1);
Course c3 = new Course("数学", 2);
//3个学生一个学校
s1.setSchool(sch);
s2.setSchool(sch);
s3.setSchool(sch);
//一个学校3个学生
sch.getAllStudent().add(s1);
sch.getAllStudent().add(s2);
sch.getAllStudent().add(s3);
//第一门课3个xues
c1.getAllStudent().add(s3);
c1.getAllStudent().add(s2);
c1.getAllStudent().add(s1);
s2.getAllCourse().add(c2);
s1.getAllCourse().add(c1);
s3.getAllCourse().add(c3); //第二门一个学生
c2.getAllStudent().add(s3);
s3.getAllCourse().add(c2);
c3.getAllStudent().add(s3);
s3.getAllCourse().add(c3);
//输出一门课信息,观察一门课多少学生:
System.out.println(c1);
Iterator<Student> iter = null;
iter = c1.getAllStudent().iterator();
System.out.println("C1 选课情况 : ");
while(iter.hasNext())
{
Student c = iter.next();
System.out.println("\t|-" + c);
}
System.out.println("----------------------------");
System.out.println("学校学生情况: ");
iter = sch.getAllStudent().iterator();
while(iter.hasNext())
{
Student stu = (Student) iter.next();
System.out.println("\t|-" + stu);
}
System.out.println("----------------------------");
//张5的选课情况:
System.out.println("学生张武选课情况: ");
System.out.println(s3);
Iterator<Course> it = s3.getAllCourse().iterator();
while(it.hasNext())
{
Course c = it.next();
System.out.println("\t|-" + c);
} }
}

源码下载

点击下载

Java实例---简单的上课管理系统的更多相关文章

  1. Java实例---简单的宠物管理系统

    代码分析 Cat.java package com.ftl.petshop; class Cat implements Pet { private String name; private Strin ...

  2. Java实例---简单的超市管理系统

    代码分析 Customer.java package test; public class Customer { private String name; private int customerTy ...

  3. Java实例---简单的个人管理系统

    代码分析 FileOperate.java package com.ftl.testperson; import java.io.File ; import java.io.FileInputStre ...

  4. Java实例---简单的数据库操作

    源码分析 DAOFactory.java package cn.ftl.mysql ; public class DAOFactory { public static IEmpDAO getIEmpD ...

  5. Java实例---简单的投票系统

    代码分析  InputData.java package vote; import java.io.BufferedReader; import java.io.IOException; import ...

  6. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

  7. 主题:Java WebService 简单实例

    链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...

  8. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  9. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

随机推荐

  1. JavaScript数据结构-6.优先队列

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Java 正则表达式 中的 任意字符

    原来正则表达式中的"."代表的是除换行以外的任意字符,如果要真正代表任意字符,需要把换行符也加进去,但是经过测试"[.\\n]"不生效,可以使用"\\ ...

  3. memcached 学习笔记 5

     memcached installed on linux 使用的操作系统是centos6.5 (有桌面) 1 上传libebent和memcache到/usr/local/src [root@jt ...

  4. System.Web.Caching.Cache类 缓存 各种缓存依赖(转)

    转自:http://www.cnblogs.com/kissdodog/archive/2013/05/07/3064895.html Cache类,是一个用于缓存常用信息的类.HttpRuntime ...

  5. push到github报错解决方法

    在push代码到远程仓库时,报了如下的错误: $ git push -u origin master To https://github.com/11pdg/group-buy.git ! [reje ...

  6. emit 方法表翻译

      Name Description Add Adds two values and pushes the result onto the evaluation stack.添加两个值并将结果推送到评 ...

  7. js 写日期选择器

    <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...

  8. JS实现最短路径之迪杰斯特拉(Dijkstra)算法

    最短路径: 对于网图来说,最短路径是指两个顶点之间经过的边上权值和最少的路径,我们称第一个顶点是源点,最后一个顶点是终点 迪杰斯特拉 ( Dijkstra) 算法是并不是一下子就求出 了 Vo 到V8 ...

  9. 类库里面添加日志记录 log4net

    第一步: 新建一个公共类库common,添加CustomLog4jLogger.cs 并引用log4net.dll /// <summary> /// 日志记录 /// </summ ...

  10. 图解源码之FutureTask篇(AQS应用)

    所以,FutureTask既可以由Executor来调度执行,也可以由调度线程调用FutureTask.run()直接执行. FutureTask是通过AQS的模板设计模式来实现阻塞get方法的. 从 ...