十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
教师和学生类是组合关系,可以是一对多,还有一课程,也是组合关系,跟老师挂勾就好了,
专注于为中小企业提供成都网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业青山湖免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
现在只举一个老师和一群学生的关系 ,一个老师对应多个学生,一个学生对应一个老师,
一个老师对应一门课程(当然一个老师也有可能教多门课程,这里我们可以不作假设),将老师挂在学生身上,这个老师教什么课程,从学生那里不就知道了么,看代码:
class Teacher {
private SetStudent students;
private Cause cause;//课程,比如说是语文
public void setStudents(SetStudent students) {
this.students = students;
}
public SetStudent getStudents()
{
return this.students;
}
}
class Student {
private Teacher teacher;
private SetCause causes;//学生可能有多门课程
}
class Cause {
private String name;
}
帮你写好啦,采纳吧。
public class Teacher {
// 员工号
private int id;
// 姓名
private String name;
// 工资
private double salary;
// 绩效工资
private double bonus;
// 课时数量
private double lessonNum;
// 课时系数
private static double lessonRate = 1;
public Teacher(int id, String name, double salary, double bonus, double lessonNum) {
this.id = id;
this.name = name;
this.salary = salary;
this.bonus = bonus;
this.lessonNum = lessonNum;
}
// 总工资
public double sumSalary() {
return salary + bonus;
}
// 当量课时
public double curLessonNum() {
return lessonNum * lessonRate;
}
public static void setLessonRate(double lessonRate) {
Teacher.lessonRate = lessonRate;
}
// 测试
public static void main(String[] args) {
// 创建两个教师对象,输出两位教师的姓名+总工资
Teacher t1 = new Teacher(1, "zhangSan", 5000, 2000, 20);
Teacher t2 = new Teacher(2, "wangWu", 6000, 4000, 30);
System.out.println("姓名" + t1.name + "总工资" + t1.sumSalary());
System.out.println("姓名" + t2.name + "总工资" + t2.sumSalary());
// 输出课时系数为1.2时,两位教师的当量课时
Teacher.setLessonRate(1.2);
System.out.println(t1.name + "当量课时:" + t1.curLessonNum());
System.out.println(t2.name + "当量课时:" + t1.curLessonNum());
// 输出课时系数为1.1时,两位教师的当量课时
Teacher.setLessonRate(1.1);
System.out.println(t1.name + "当量课时:" + t1.curLessonNum());
System.out.println(t2.name + "当量课时:" + t1.curLessonNum());
}
}
运行结果:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class test {
static String[] arr;
static boolean flag=true;
static ListString a;
static JTextField jtf;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new JFrame();
frame.setLayout(new GridLayout(1,2));
JButton button = new JButton("抽奖");
jtf = new JTextField();
frame.add(jtf);
frame.add(button);
a = new ArrayListString();
arr = new String[]{"张三","李四","王五"};
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
int i=0;
fond:
while(true){
String str = arr[(int)(Math.random()*arr.length)];
for(String b:a){
if(b.equals(str)){
if(i=arr.length){
jtf.setText("没有人了");
break fond;
}
continue fond;
}
i++;
}
a.add(str);
jtf.setText(str);
break;
}
}
});
frame.setSize(500, 500);
frame.setLocation(500, 500);
frame.setVisible(true);
}
}
package com.demo;
public class Teacher {
private static double xishu=1.2;//课时数量,定义成static类型保证有教师的课时系数都相同
private double classNo=0.0;//课时数量
public Teacher(){
}
public Teacher(double classNo){//构造函数
this.classNo=classNo;
}
public double courseCompute( ){
return xishu*classNo;
}
public static void main(String[] string){
Teacher teacherOne=new Teacher(4);//申明一个四节课时的教师
Teacher teacherTwo=new Teacher(5);//申明一个四节课时的教师
System.out.println(teacherOne.courseCompute());//输出结果
System.out.println(teacherTwo.courseCompute());
teacherOne.xishu=1;//修改系数
System.out.println(teacherOne.courseCompute());//重新输出结果
System.out.println(teacherTwo.courseCompute());
}
}
运行结果:
以下方法实现了用户界面登陆
import java.awt.*;
import java.awt.event.*;
public class DengLuJieMian extends Frame implements ActionListener
{
Label username=new Label("用户名:");//使用文本创建一个用户名标签
TextField t1=new TextField();//创建一个文本框对象
Label password=new Label("密码:");//创建一个密码标签
TextField t2=new TextField();
Button b1=new Button("登陆");//创建登陆按钮
Button b2=new Button("取消");//创建取消按钮
public DengLuJieMian()
{
this.setTitle("学生信息管理系统");//设置窗口标题
this.setLayout(null);//设置窗口布局管理器
username.setBounds(50,40,60,20);//设置姓名标签的初始位置
this.add(username);// 将姓名标签组件添加到容器
t1.setBounds(120,40,80,20);// 设置文本框的初始位置
this.add(t1);// 将文本框组件添加到容器
password.setBounds(50,100,60,20);//密码标签的初始位置
this.add(password);//将密码标签组件添加到容器
t2.setBounds(120,100,80,20);//设置密码标签的初始位置
this.add(t2);//将密码标签组件添加到容器
b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置
this.add(b1);//将登陆按钮组件添加到容器
b2.setBounds(120,150,60,20);//设置取消按钮的初始位置
this.add(b2);// 将取消按钮组件添加到容器
b1.addActionListener(this);//给登陆按钮添加监听器
b2.addActionListener(this);// 给取消按钮添加监听器
this.setVisible(true);//设置窗口的可见性
this.setSize(300,200);//设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});//通过内部类重写关闭窗体的方法
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//处理登陆事件
{
String name=t1.getText();
String pass=t2.getText();
if(name!=nullpass.equals("000123"))//判断语句
{
new StudentJieMian();
}
}
}
public static void main(String args[])//主函数
{
new DengLuJieMian();
}
}
以下方法实现了学生界面设计
import java.awt.*;
import java.awt.event.*;
class StudentJieMian extends Frame implements ActionListener
{
MenuBar m=new MenuBar();//创建菜单栏
Menu m1=new Menu("信息");//创建菜单“信息”
MenuItem m11=new MenuItem("插入");//创建“插入”的菜单项
MenuItem m12=new MenuItem("查询");
Menu m2=new Menu("成绩");//创建菜单“成绩”
MenuItem m21=new MenuItem("查询");
public StudentJieMian()
{
this.setTitle("学生界面");//设置窗口标题
this.setLayout(new CardLayout());//设置窗口布局管理器
this.setMenuBar(m);//将菜单栏组件添加到容器
m.add(m1);//将信息菜单放入菜单栏
m.add(m2);
m1.add(m11);//将“插入”菜单项添加到“信息”菜单
m1.add(m12); //将“查询”菜单项添加到“信息”菜单
m2.add(m21); //将“查询”菜单项添加到“成绩”菜单
m11.addActionListener(this); //给“插入”菜单项添加监听器
m12.addActionListener(this); //给“查询”菜单项添加监听器
m21.addActionListener(this); //给“查询”菜单项添加监听器
this.setVisible(true); //设置窗口的可见性
this.setSize(300,200); //设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//关闭窗口
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==m11) //处理“添加信息”事件
{
new AddStudent();
}
if(e.getSource()==m12) //处理“查询信息”事件
{
new SelectStudent();
}
if(e.getSource()==m21) //处理“查询成绩”事件
{
new ChengJiStudent();
}
}
public static void main(String args[])
{ new StudentJieMian(); //创建一个对象 }