用纯Java类实现学生和老师的多对多关系

用纯Java类实现学生和老师的多对多关系,第1张

import java.util.List

public class Student {

private int id

private String name

private List<Class>classids

public Student(int id,String name,List<Class>class_id){

this.id = id

this.name = name

this.classids=class_id

}

}

public class Teacher {

private int id

private String name

public Teacher(int id,String name){

this.id = id

this.name = name

}

}

public class Class {

private int id

private String name

private Teacher teacher_id

public Class(int id,String name,Teacher teacher_id ){

this.id = id

this.name = name

this.teacher_id=teacher_id

}

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

Teacher t1=new Teacher(11,"瑶瑶老师")

Teacher t2=new Teacher(22,"甜甜老师")

Teacher t3=new Teacher(33,"笨笨老师")

Class c1=new Class(1,"语文",t1) //课程和老师的关联 1:1

Class c2=new Class(2,"数学",t2)

Class c3=new Class(3,"英语",t3)

List<Class>list1=new ArrayList<Class>()

list1.add(c1)

list1.add(c2)

List<Class>list2=new ArrayList<Class>()

list2.add(c1)

list2.add(c3)

Student s1=new Student(001,"张三",list1) //学生和课程的关联 1:m

Student s2=new Student(002,"李四",list2)

}

}

这样就得出了学生和老师的关联 是m:n

//学生

public class Student{

    private String name

    //省略get/set方法

    public String toString(){

        return name

    }

}

//教师

public class Teacher{

    private String name

    //省略get/set方法

    public String toString(){

        return name

    }

}

//课程

public class Course{

    private String name

    //省略get/set方法

    public String toString(){

        return name

    }

}

import java.util.Scanner

public class TestCalculate {

/**

* 编写一个JAVA应用程序允许教师输入学生人数和所有学生该门课的成绩,然后输出最高分最低分及平均成绩(成绩输入以逗号分隔)

* @param args

*/

public static void sort(int[] values){

int temp

for(int i=0 i <values.length ++i){

for(int j=0j <values.length - i - 1++j){

if(values[j] >values[j + 1]){

temp = values[j]

values[j] = values[j + 1]

values[j+1] = temp

}

}

}

}

public static int[] chageType(String[] values,int length){

int[] values2 = new int[length]

for(int i=0i<values.lengthi++){

values2[i] = Integer.parseInt(values[i])

}

return values2

}

public static void main(String[] args) {

System.out.print("请输入学生人数:")

Scanner scanner = new Scanner(System.in)

int students = Integer.parseInt(scanner.next())

System.out.print("请输入所有学生该门课的成绩:")

String grades[] = scanner.next().split(",")

System.out.println(grades.length)

int[] grades2 = chageType(grades,students)

sort(grades2)

System.out.println("最高分是:"+grades2[grades2.length-1])

System.out.println("最低分是:"+grades2[0])

int total = 0

for(int i=0i <grades2.lengthi++){

total += grades2[i]

}

System.out.println("平均分是:"+total/students)

}

}

/////////////////////////////////////////////////

import java.io.BufferedReader

import java.io.InputStreamReader

import java.util.Scanner

public class Test

{

/**

* @一些校验我就没有加了.

* @大概思路应该是这样

* @[email protected]

* @2011-05-23

*/

private static int total = 0

public static void main(String[] args) {

System.out.println("请输入班级学生人数!")

Scanner sc = new Scanner(System.in)

total = sc.nextInt()

System.out.println("班级学生人数是: " + total)

System.out.println("请依次输入学生成绩:")

String[] cjArray = new String[total]

for(int i=0i<cjArray.lengthi++){

Scanner sc2 = new Scanner(System.in)

System.out.println("请输入下一个学生成绩")

cjArray[i] = sc.next()

}

for(String cj : cjArray){

System.out.println("学生的成绩依次为:" + cj)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12136839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存