您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页数据库教学管理系统

数据库教学管理系统

来源:爱问旅游网
 用递归、非递归两种方法遍历二叉树

数据库原理课程设计

专 业:班 级:指导教师:* 名:学 号:

计算机科学与技术 计算机(2)班 *** ** ************

用递归、非递归两种方法遍历二叉树

目 录

一、概述……………………………………………………………….01 二、需求分析………………………………………………………….02 三、数据逻辑设计…………………………………………………….05 四、软件功能设计…………………………………………………….06 五、程序源代码..………..…………………………………………….07 六、结束语…………………………………………………………….41

用递归、非递归两种方法遍历二叉树

一、 概述

1:项目背景

教学管理作为学校管理的一个重要方面,其可变因素多,管理方面繁琐复杂,时间跨度大,再加上其固有的基数大,因而形成了巨大的数据量。这些数据就是有用的信息,信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园息系统建设的重要性越来越为成人高校所重视。

2:编写目的

该文档编写的目的主要有以下几点: (1)、为软件的编码提供参考 (2)、为软件的使用者提供参考 (3)、为软件测试提供参考

3:软件定义

该软件是一款用于学校相关人员对学校日常教学的管理,其中包括对课程、选课、学生、班级、教师、成绩等相关内容的管理,具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。

4:开发环境

数据库:SQL Server 2005 代码编写工具:Eclipse

绘图工具:Microsoft Word

二、需求分析

1. 需求分析的任务

需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的

[4]各种需求,在此基础上确定新系统的功能。新系统必须考虑今后的扩充和改变,

不能仅仅按当前应用需求来设计数据库。

2. 需要完成的功能

1

用递归、非递归两种方法遍历二叉树

1) 反映教学组织机构的总体状况。本教学管理系统主要由教师管理系统,

学生管理系统以及领导管理系统等组成。

2) 使管理者熟悉各部门的业务活动状况。调查各部门的业务活动情况,对

现行管理信息有一个明确的认识。

3) 使管理者可以完成对学生成绩表的浏览、查询和修改。

4) 使管理者可以完成对教师授课情况等个方面的详细信息的修改和查询。 5) 使管理者可以完成对各部门领导相关信息的查询和修改。

3. 数据字典

学生表说明 数据项编号 数据项名称 数据项含义 数据类型及存储与其他数据关系 别名 s-01 s-02 s-03 s-04 s-05 s-06 s-07 code name sexy age address birthday grade 学号 学生姓名 学生性别 学生年龄 家庭住址 生日 所在班级 所学专业 varchar(30) varchar(50) nchar(1) int varchar(100) datetime varchar(60) varchar(50) 姓名 编号 性别 年龄 住址 生日 班级 系 s-08 major 教师表说明 数据项编号 数据项名称 数据项含义 数据类型及存储与其他数据关系 别名 t-01 t-02 t-03 t-04 t-05 t-06 t-07 t-08 t-09 name code sexy age address birthday salary major duty 教师姓名 教师编号 教师性别 教师年龄 家庭住址 生日 varchar(30) varchar(50) nchar(1) int varchar(100) datetime 姓名 编号 性别 年龄 住址 生日 工资 系 职称 每月所得工资i nt 所教专业 职称 varchar(50) varchar(50) 2

用递归、非递归两种方法遍历二叉树

领导表说明 数据项编号 数据项名称 数据项含义 数据类型及存储与其他数据关系 别名 l-01 l-02 l-03 l-04 l-05 l-06 l-07 l-08 name code sexy age address birthday salary major 领导姓名 领导编号 领导性别 领导年龄 家庭住址 生日 varchar(30) varchar(50) nchar(1) int varchar(100) datetime 姓名 编号 性别 年龄 住址 生日 工资 系 职称 每月所得工资i nt 所在院系 职称 varchar(50) varchar(50) l-09 duty 课程表说明 数据项编号 数据项名称 数据项含义 c-01 c-02 c-03 c-04 c-05 c-06 c-07 c-08 c-09 name code credit precourse quarter 课程名称 课程号 所得学分 先行课 上课季度 数据类型及存储 与其他数据关系 别名 varchar(30) varchar(50) int varchar(50) varchar(50) varchar(50) int int varchar(50) 同教师姓名 课程名 课程号 学分 先行课 季度 教师名 学生数 教室号 班级 teachername 授课教师名 studentnumber 所容纳学生数 classnumber 教室号 grade 上课的班级 c-10 major

分数表说明 上课学生所在院系varchar(50) 同学生所学专业 系 数据项编号 数据项名称 数据项含义 数据类型及存储 与其他数据关系 m-01 m-02 m-03 m-04 m-05 m-06 name code mathmark 学生姓名 学号 数学分数 varchar(50) varchar(50) int int 同学生姓名 同学生编号 同教师姓名 别名 姓名 学号 数学分数 语文分数 心理学分数 英语分数 chinesemark 语文分数 psychologymark心理学分数 int englishmark 英语分数 int 3

用递归、非递归两种方法遍历二叉树

m-07 m-08

grade major 所在班级 所在系 varchar(60) varchar(50) 同学生所在班级 同学生所在系 班级 系 4. E-R模型图

登陆信息 登陆 领导 密码 用户名 姓名 年龄 性别 系 职位 工资 登陆 登陆 年龄 管理 工资 班级 姓名 性别 年龄 学生 系 教学 教师 查询 学号 姓名 录入 性别 系 职位 教课 成绩 课表 学号 课程名 课程类型 分数 班级 系 课程名 学分 先行课 季度 授课教师 4

用递归、非递归两种方法遍历二叉树

三、数据库逻辑设计

E-R图转换成的关系图

学生表说明 字段名 code name sexy age address birthday grade 含义说明 学号 学生姓名 学生性别 学生年龄 家庭住址 生日 所在班级 数据类型 空值情况 主键情况 是 否 否 否 否 否 否 否 varchar(30) 否 varchar(50) 否 nchar(1) int varchar(100) datetime varchar(60) varchar(50) 是 是 是 是 是 是 major 所学专业 教师表说明 字段名 name code sexy age address birthday salary major 含义说明 教师姓名 教师编号 教师性别 教师年龄 家庭住址 生日 数据类型 空值情况 主键情况 否 是 否 否 否 否 否 否 否 varchar(30) 否 varchar(50) 否 nchar(1) int varchar(100) datetime 是 是 是 是 是 是 是 每月所得工资i nt 所教专业 varchar(50) varchar(50) duty 职称

领导表说明 字段名 name code sexy age 含义说明 领导姓名 领导编号 领导性别 领导年龄 数据类型 空值情况 主键情况 否 是 否 否 varchar(30) 否 varchar(50) 否 nchar(1) int 5

是 是 用递归、非递归两种方法遍历二叉树

address birthday salary major 家庭住址 生日 varchar(100) datetime 是 是 是 是 是 否 否 否 否 否 每月所得工资i nt 所在院系 varchar(50) varchar(50) duty 职称

课程表说明 字段名 name code credit precourse quarter 含义说明 课程名称 课程号 所得学分 先行课 上课季度 数据类型 空值情况 主键情况 否 是 否 否 否 否 否 否 否 否 varchar(30) 否 varchar(50) 否 int 是 varchar(50) 是 varchar(50) 是 varchar(50) 是 int int varchar(50) 是 否 是 teachername 授课教师名 studentnumber 所容纳学生数 classnumber 教室号 grade 上课的班级 major 上课学生所在院系 varchar(50) 是

分数表说明 字段名 name code mathmark 含义说明 学生姓名 学号 数学分数 数据类型 varchar(50) varchar(50) int int 空值情况 否 否 是 是 是 是 是 是 主键情况 否 是 否 否 否 否 否 否 chinesemark 语文分数 psychologymark心理学分数 int englishmark 英语分数 grade major

int varchar(60) varchar(50) 所在班级 所在系 四、软件功能设计

6

用递归、非递归两种方法遍历二叉树

教学管理系统 教师信息系学生信息管理系统 领导信息系统 学生课程系统 统 教教教学学学领领领课课师师师生生生导导导程程信信信信信信信信信修信息息息息息息息息息改 息添删更删添更更更更查加 除 新 除 加 新 新 新 新 询 五、程序源代码(注:实际应用系统为英文版,java语言编写)1.程序中类的设计:

Course_Frame:这个是学生信息系统添加信息框架类 courseBean:实现基本方法的课程类

coursemanageframe:学生课程表信息系统的入口框架类 From_course:课程表存储类 From_Leader:领导存储类 From_mark:学生表存储类 From_student:学生存储类 From_Teacher:教师存储类

Leader_Frame:领导添加信息框架类 leaderBean:领导类模型

leadermanageframe:领导信息系统的入口框架类 login:登陆界面类

Mark_Frame:学生分数添加信息框架类 markBean:实现基本方法的分数表类

markmanageframe:学生分数表信息系统入口框架类 PDA_Frame:主界面类,实现各个系统界面 Show_Course:学生课程系统框架类 Show_Leader:领导信息系统框架类 Show_Mark:学生分数系统框架类 Show_Student:学生信息系统框架类 Show_Teacher:教师信息系统框架类 Student_Frame:学生添加信息框架类 studentBean:学生类模型

studentmanageframe:学生信息系统的入口框架类 Teacher_Frame:教师添加信息框架类

7

学生分数系统 分分数数查修询 改

用递归、非递归两种方法遍历二叉树

teacherBean:教师类模型

teachermanageframe:教师信息系统的入口框架类

2.程序中各个类的核心代码(由于代码比较多,所以在此只写出了一些核心代码,由于有些类大同小异,比如学生类,老师类和领导类等,其中一些类以学生类为例子):

1.程序中类的设计:

public class login extends JPanel { static final int WIDTH = 400; static final int HEIGHT = 250; JFrame loginframe;

public static void main(String[] args) { login log = new login(); }

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); }

login() { loginframe = new JFrame(\"HeBei United University Teaching Management System\"); loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GridBagLayout lay = new GridBagLayout(); setLayout(lay); loginframe.add(this, BorderLayout.WEST); loginframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; loginframe.setLocation(x, y); JButton ok = new JButton(\"Login\"); JButton cancel = new JButton(\"Give up\"); JLabel title = new JLabel(\"Administrator login\"); JLabel name = new JLabel(\"Administrator name\"); JLabel password = new JLabel(\"Password\"); final JTextField nameinput = new JTextField(15); final JTextField passwordinput = new JPasswordField(15);

8

用递归、非递归两种方法遍历二叉树

GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 3; constraints.weighty = 4; add(title, constraints, 0, 0, 4, 1); // 使用网格组布局添加控件 add(name, constraints, 0, 1, 1, 1); add(password, constraints, 0, 2, 1, 1); add(nameinput, constraints, 2, 1, 1, 1); add(passwordinput, constraints, 2, 2, 1, 1); add(ok, constraints, 1, 3, 1, 1); add(cancel, constraints, 2, 3, 1, 1); loginframe.setResizable(true); loginframe.setVisible(true); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String nametext = nameinput.getText(); String passwordtext = passwordinput.getText(); String str = new String(passwordtext); boolean x = (nametext.equals(\"张江\")); boolean y = (str.equals(\"333\")); // 在此设置密码和用户名 boolean z = (x && y); if (z == true) { loginframe.dispose(); PDA_Frame main = new PDA_Frame(); // 此界面就是后面的主界面 System.out.println(\"welcome to Teaching Management System!\"); } else if (z == false) { nameinput.setText(\"\"); passwordinput.setText(\"\"); } } }); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { loginframe.dispose(); } }); } }

9

用递归、非递归两种方法遍历二叉树

class PDA_Frame extends JFrame { static final int WIDTH = 400; static final int HEIGHT = 200; JFrame buttonframe;

public PDA_Frame() { buttonframe = new JFrame(); buttonframe.setTitle(\"Teaching Management System\"); buttonframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); buttonframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; this.setBackground(Color.red); buttonframe.setLocation(x, y); buttonframe.setVisible(true); buttonframe.setForeground(Color.blue); JButton student = new JButton(\"Student information management system\"); JButton mark = new JButton(\"Student mark system\"); JButton course = new JButton(\"Student course system\"); JButton teacher = new JButton(\"Teacher information system\"); JButton leader = new JButton(\"Leader information system\"); buttonframe.add(student); buttonframe.add(mark); buttonframe.add(course); buttonframe.add(teacher); buttonframe.add(leader); buttonframe.setLayout(new GridLayout(5, 1)); student.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { studentmanageframe studentframe = new studentmanageframe(); } }); teacher.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { teachermanageframe teacherframe = new teachermanageframe(); } }); leader.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) {

10

用递归、非递归两种方法遍历二叉树

leadermanageframe leaderframe = new leadermanageframe(); } }); mark.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { markmanageframe markframe = new markmanageframe(); } }); course.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { coursemanageframe courseframe = new coursemanageframe(); } }); } }

class studentmanageframe extends JPanel {

private static final long serialVersionUID = 1L; static final int WIDTH = 400; static final int HEIGHT = 200; JFrame studentframe;

public studentmanageframe() { studentframe = new JFrame(); studentframe.setBackground(Color.black); studentframe.setTitle(\"Student informatin management system\"); studentframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); studentframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; studentframe.setLocation(x, y); studentframe.setVisible(true); studentframe.setResizable(false); studentframe.add(this, BorderLayout.CENTER); JButton computerone = new JButton(\"Computer No.1\"); JButton computertwo = new JButton(\"Computer No.2\");

11

用递归、非递归两种方法遍历二叉树

JButton computerthree = new JButton(\"Computer No.3\"); JButton bioone = new JButton(\"Legal No.1\"); JButton mechone = new JButton(\"Legal No.2\"); JButton mechtwo = new JButton(\"Mathematics No.1\"); JButton mechthree = new JButton(\"Mathematics No.2\"); JLabel banket1 = new JLabel(); JLabel banket2 = new JLabel(); GridBagLayout lay = new GridBagLayout(); setLayout(lay); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 2; constraints.weighty = 5; JPanel jp = new JPanel(); jp.setLayout(new GridLayout(1, 3)); jp.add(banket1); jp.add(banket2); studentframe.add(jp, BorderLayout.NORTH); add(computerone, constraints, 0, 1, 1, 1); add(computertwo, constraints, 0, 2, 1, 1); add(computerthree, constraints, 0, 3, 1, 1); add(bioone, constraints, 0, 4, 1, 1); add(mechone, constraints, 1, 1, 1, 1); add(mechtwo, constraints, 1, 2, 1, 1); add(mechthree, constraints, 1, 3, 1, 1); / /单击这个按钮,进入到计算机系二班学生信息系统 computerone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='一班' and major='计算机系'\"; Show_Student info = new Show_Student(\"sutdent basic information 0f computer No.1 \ } }); / /单击这个按钮,进入到计算机系二班学生信息系统 computertwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='二班'and major='计算机系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f computer No.2\

12

用递归、非递归两种方法遍历二叉树

sql); } }); / /单击这个按钮,进入到计算机系三班学生信息系统 computerthree.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='三班' and major='计算机系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f computer No.3\ sql); } }); / /单击这个按钮,进入到法律系一班学生信息系统 bioone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade ='一班'and major='法律系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f legal No.1\ } }); / /单击这个按钮,进入到法律系二班学生信息系统 mechone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='二班'and major='法律系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f legal No.2\ sql); } }); / /单击这个按钮,进入数学系一班学生信息系统 mechtwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='一班'and major='数学系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f mathematics No.1\ sql); } }); / /单击这个按钮,数学系二班学生信息系统 mechthree.addActionListener(new ActionListener() {

13

用递归、非递归两种方法遍历二叉树

public void actionPerformed(ActionEvent Event) { String sql = \"select * from studentinfo where grade='二班'and major='数学系'\"; Show_Student studentinformation = new Show_Student(\"sutdent basic information 0f mathematics No.2\ sql); } }); }

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); } }

class teachermanageframe extends JPanel {

private static final long serialVersionUID = 1L; static final int WIDTH = 400; static final int HEIGHT = 200; JFrame teacherframe;

public teachermanageframe() { teacherframe = new JFrame(); teacherframe.setTitle(\"Teacher information management system\"); teacherframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); teacherframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; teacherframe.setLocation(x, y); teacherframe.setVisible(true); teacherframe.setResizable(false); teacherframe.add(this, BorderLayout.CENTER); JButton computerteacher = new JButton(\"Computer department\");

14

用递归、非递归两种方法遍历二叉树

JButton bioteacher = new JButton(\"Legal department\"); JButton mechteacher = new JButton(\"Mathematics department\"); JButton beretun = new JButton(\"Return\"); JLabel banket1 = new JLabel(); JLabel banket2 = new JLabel(); GridBagLayout lay = new GridBagLayout(); setLayout(lay); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 1; constraints.weighty = 4; JPanel jp = new JPanel(); jp.setLayout(new GridLayout(1, 3)); jp.add(banket1); jp.add(banket2); teacherframe.add(jp, BorderLayout.NORTH); add(computerteacher, constraints, 0, 1, 1, 1); add(bioteacher, constraints, 0, 4, 1, 1); add(mechteacher, constraints, 1, 1, 1, 1); / /单击这个按钮,进入到计算机系教师信息系统 computerteacher.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from teacherinfo where duty = '教师' and major='计算机系'\"; // String sql=\"select * from teacherinfo where duty='教师'and // major='英语系'\"; Show_Teacher teacherinformation = new Show_Teacher(\"Computer department teacher information system\ } }); / /单击这个按钮,进入到法律系教师信息系统 bioteacher.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from teacherinfo where duty = '教师' and major='法律系'\"; Show_Teacher teacherinformation = new Show_Teacher(\"Legal department teacher information system\ sql); } }); / /单击这个按钮,进入到数学系教师信息系统 mechteacher.addActionListener(new ActionListener() {

15

用递归、非递归两种方法遍历二叉树

public void actionPerformed(ActionEvent Event) { String sql = \"select * from teacherinfo where duty = '教师' and major='数学系'\"; Show_Teacher teacherinformation = new Show_Teacher(\"Mathematics department teacher information system\ sql); } });

}

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); } }

class leadermanageframe extends JPanel {

private static final long serialVersionUID = 1L; static final int WIDTH = 400; static final int HEIGHT = 200; JFrame leaderframe;

public leadermanageframe() { leaderframe = new JFrame(); leaderframe.setTitle(\"Department leader information management system\"); leaderframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); leaderframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; leaderframe.setLocation(x, y); leaderframe.setVisible(true); leaderframe.setResizable(false); leaderframe.add(this, BorderLayout.CENTER);

16

用递归、非递归两种方法遍历二叉树

JButton computerleader = new JButton(\"Computer department\"); JButton bioleader = new JButton(\"Legal department\"); JButton mechleader = new JButton(\"Mathematics department\"); JButton schoolleader = new JButton(\"School leadership\"); JLabel banket1 = new JLabel(); JLabel banket2 = new JLabel(); GridBagLayout lay = new GridBagLayout(); setLayout(lay); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 2; constraints.weighty = 2; JPanel jp = new JPanel(); jp.setLayout(new GridLayout(1, 3)); jp.add(banket1); jp.add(banket2); leaderframe.add(jp, BorderLayout.NORTH); add(computerleader, constraints, 0, 0, 1, 1); // 使用网格组布局添加控件 add(bioleader, constraints, 0, 1, 1, 1); add(mechleader, constraints, 1, 0, 1, 1); add(schoolleader, constraints, 1, 1, 1, 1); / /单击这个按钮,进入到计算机系领导信息系统 computerleader.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from leaderinfo where duty='主任'and major='计算机系'\"; Show_Leader leaderinformation = new Show_Leader(\"Computer department leader information system\ } }); / /单击这个按钮,进入到法律系领导信息系统 bioleader.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from leaderinfo where duty='主任' and major='法律系'\"; Show_Leader leaderinformation = new Show_Leader(\"Legal department leader information system\ } }); / /单击这个按钮,进入到数学系领导信息系统 mechleader.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) {

17

用递归、非递归两种方法遍历二叉树

String sql = \"select * from leaderinfo where duty='主任'and major='数学系'\"; Show_Leader leaderinformation = new Show_Leader(\"Mathematics department leader information system\ } }); / /单击这个按钮,进入到学校领导信息系统 schoolleader.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from leaderinfo where duty='主任'and major='学校'\"; Show_Leader leaderinformation = new Show_Leader(\"学校领导信息系统\ } }); }

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); } }

class markmanageframe extends JPanel {

private static final long serialVersionUID = 1L; static final int WIDTH = 400; static final int HEIGHT = 200; JFrame markframe;

public markmanageframe() { markframe = new JFrame(); markframe.setBackground(Color.black); markframe.setTitle(\"Student mark management system\"); markframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); markframe.setSize(WIDTH, HEIGHT);

18

用递归、非递归两种方法遍历二叉树

Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; markframe.setLocation(x, y); markframe.setVisible(true); markframe.setResizable(false); markframe.add(this, BorderLayout.CENTER); JButton computerone = new JButton(\"Mark of computer No.1\"); JButton computertwo = new JButton(\"Mark of computer No.2\"); JButton computerthree = new JButton(\"Mark of computer No.3\"); JButton bioone = new JButton(\"Mark of legal No.1\"); JButton mechone = new JButton(\"Mark of legal No.2\"); JButton mechtwo = new JButton(\"Mark of mathematics No.1\"); JButton mechthree = new JButton(\"Mark of mathematics No.2\"); JLabel banket1 = new JLabel(); JLabel banket2 = new JLabel(); GridBagLayout lay = new GridBagLayout(); setLayout(lay); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 2; constraints.weighty = 5; JPanel jp = new JPanel(); jp.setLayout(new GridLayout(1, 3)); jp.add(banket1); jp.add(banket2); markframe.add(jp, BorderLayout.NORTH); add(computerone, constraints, 0, 1, 1, 1); // 使用网格组布局添加控件 add(computertwo, constraints, 0, 2, 1, 1); add(computerthree, constraints, 0, 3, 1, 1); add(bioone, constraints, 0, 4, 1, 1); add(mechone, constraints, 1, 1, 1, 1); add(mechtwo, constraints, 1, 2, 1, 1); add(mechthree, constraints, 1, 3, 1, 1); / /单击这个按钮,进入到计算机系一班学生分数信息系统 computerone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='一班' and major='计算机系'\"; Show_Mark info = new Show_Mark(\"Mark system of computer

19

用递归、非递归两种方法遍历二叉树

No.1\ } }); / /单击这个按钮,进入到计算机系二班学生分数信息系统 computertwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='二班'and major='计算机系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of computer No.2\ sql); } }); / /单击这个按钮,进入到计算机系三班学生分数信息系统 computerthree.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='三班' and major='计算机系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of computer No.3\ sql); } }); / /单击这个按钮,进入到法律系一班学生分数信息系统 bioone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade ='一班'and major='法律系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of Legal No.1\ } }); / /单击这个按钮,进入到法律系二班学生分数信息系统 mechone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='二班'and major='法律系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of legal No.2\ sql); } }); / /单击这个按钮,进入数学系一班学生分数信息系统

20

用递归、非递归两种方法遍历二叉树

mechtwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='一班'and major='数学系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of Mathematics No.1\ sql); } }); / /单击这个按钮,数学系二班学生分数信息系统 mechthree.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from markinfo where grade='二班'and major='数学系'\"; Show_Mark markinformation = new Show_Mark(\"Mark system of mathematics No.1\ sql); } }); }

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); } }

class coursemanageframe extends JPanel {

private static final long serialVersionUID = 1L;

static final int WIDTH = 400;

static final int HEIGHT = 200;

JFrame courseframe;

public coursemanageframe() { courseframe = new JFrame();

21

用递归、非递归两种方法遍历二叉树

courseframe.setBackground(Color.black);

courseframe.setTitle(\"Student Course Management System\");

courseframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); courseframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; courseframe.setLocation(x, y); courseframe.setVisible(true); courseframe.setResizable(false);

courseframe.add(this, BorderLayout.CENTER);

JButton computerone = new JButton(\"Computer No.1\"); JButton computertwo = new JButton(\"Computer No.2\"); JButton computerthree = new JButton(\"Computer No.3\"); JButton bioone = new JButton(\"Legal No.1\"); JButton mechone = new JButton(\"Legal No.2\");

JButton mechtwo = new JButton(\"Mathematics No.1\"); JButton mechthree = new JButton(\"Mathematics No.2\"); JLabel banket1 = new JLabel(); JLabel banket2 = new JLabel();

GridBagLayout lay = new GridBagLayout(); setLayout(lay);

GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.EAST; constraints.weightx = 2; constraints.weighty = 5; JPanel jp = new JPanel();

jp.setLayout(new GridLayout(1, 3)); jp.add(banket1); jp.add(banket2);

courseframe.add(jp, BorderLayout.NORTH);

add(computerone, constraints, 0, 1, 1, 1); // 使用网格组布局添加控件 add(computertwo, constraints, 0, 2, 1, 1); add(computerthree, constraints, 0, 3, 1, 1); add(bioone, constraints, 0, 4, 1, 1); add(mechone, constraints, 1, 1, 1, 1); add(mechtwo, constraints, 1, 2, 1, 1); add(mechthree, constraints, 1, 3, 1, 1);

/ /单击这个按钮,进入到计算机系一班学生课程信息系统

22

用递归、非递归两种方法遍历二叉树

computerone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='一班' and major='计算机系'\"; Show_Course info = new Show_Course(\"Student course information system of computer No.1\ } }); / /单击这个按钮,进入到计算机系二班学生课程信息系统 computertwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='二班'and major='计算机系'\"; Show_Course courseinformation = new Show_Course(\"Student course information system of computer No.2\ sql); } }); // /单击这个按钮,进入到计算机系三班学生课程信息系统 computerthree.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='三班' and major='计算机系'\"; Show_Course courseinformation = new Show_Course(\"Student course information system of computer No.3\ sql); } }); // /单击这个按钮,进入到法律系一班学生课程信息系统 bioone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade ='一班'and major='法律系'\"; Show_Course courseinformation = new Show_Course(\"Student course information system of legal No.1\ } }); // /单击这个按钮,进入到法律系二班学生课程信息系统 mechone.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='二班'and major='法律系'\"; Show_Course courseinformation = new Show_Course(\"Student

23

用递归、非递归两种方法遍历二叉树

course information system of legal No.2\ sql); } }); // /单击这个按钮,进入数学系一班学生课程信息系统 mechtwo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='一班'and major='数学系'\"; Show_Course courseinformation = new Show_Course(\"Student course information system of mathematics No.1\ sql); } }); // /单击这个按钮,数学系二班学生课程信息系统 mechthree.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String sql = \"select * from courseinfo where grade='二班'and major='数学系'\"; Show_Course courseinformation = new Show_Course(\"Student course information system of mathematics No.2\ sql); } }); }

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); } }

class From_student {

public Vector getstudent(Connection con, String sql) { Vector v = new Vector(); try { Statement st = con.createStatement(); ResultSet rs = st.executeQuery(sql);

24

用递归、非递归两种方法遍历二叉树

}

while (rs.next()) { String name = rs.getString(1); String code = rs.getString(2); String sexy = rs.getString(3); String age = rs.getString(4); String address = rs.getString(5); String birthday = rs.getString(6); String grade = rs.getString(7); String major = rs.getString(8); studentBean ss = new studentBean(name, code); ss.setsexy(sexy); ss.setmajor(major); ss.setbirthday(birthday); ss.setaddress(address); ss.setage(age); ss.setgrade(grade); v.add(ss); } rs.close();

} catch (Exception e) { e.printStackTrace(); }

return v;

public studentBean getobject(Connection con, String stname) { studentBean sst = null; try { Statement st = con.createStatement(); String sql = \"select * from studentinfo where name='\" + stname + \"'\"; ResultSet rs = st.executeQuery(sql); // /通过结果集中的getString方法从数据库中表中提取表字段的数据 // /再将提取出来的数据赋值给学生对象。 // /最后将学生对象存储到vector数据结构中 while (rs.next()) { String code = rs.getString(2); String sexy = rs.getString(3); String age = rs.getString(4); String address = rs.getString(5); String birthday = rs.getString(6); String grade = rs.getString(7); String major = rs.getString(8); sst = new studentBean(stname, code);

25

用递归、非递归两种方法遍历二叉树

sst.setsexy(sexy); sst.setmajor(major); sst.setbirthday(birthday); sst.setaddress(address); sst.setage(age); sst.setgrade(grade); } rs.close(); } catch (Exception e) { e.printStackTrace(); } return sst; }

// /通过设置数据库的URL,密码,用户名来建立与数据库的连接 public Connection getConnection() { Connection con = null; try { Class.forName(\"com.microsoft.sqlserver.jdbc.SQLServerDriver\"); // 加载jdbc数据驱动 con

DriverManager.getConnection(\"jdbc:sqlserver://127.0.0.1:1433;databaseName spdb1\ } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } return con; } }

class Show_Student extends JPanel {

private static final long serialVersionUID = 1L;

static final int WIDTH = 700;

static final int HEIGHT = 400;

final JComboBox nameinput;

26

= =

用递归、非递归两种方法遍历二叉树

final JTextField codeinput; final JTextField sexyinput; final JTextField birthdayinput; final JTextField ageinput; final JTextField addressinput; final JTextField gradeinput; final JTextField majorinput; JFrame studentinfoframe;

From_student store = new From_student(); Connection con = store.getConnection(); Student_Frame af = new Student_Frame();

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); }

public Show_Student(String str, String sql) { studentinfoframe = new JFrame(); studentinfoframe.setTitle(str); studentinfoframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); studentinfoframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; studentinfoframe.setLocation(x, y);

27

用递归、非递归两种方法遍历二叉树

studentinfoframe.setVisible(true); // studentinfoframe.setResizable(false); studentinfoframe.add(this, BorderLayout.CENTER); GridBagLayout lay = new GridBagLayout(); setLayout(lay); JLabel name = new JLabel(\"Name\"); JLabel code = new JLabel(\"ID\"); JLabel sexy = new JLabel(\"Gender\"); JLabel age = new JLabel(\"Age\"); JLabel birthday = new JLabel(\"Birthday\"); JLabel address = new JLabel(\"Address\"); JLabel grade = new JLabel(\"Grade\"); JLabel major = new JLabel(\"major\"); JLabel title = new JLabel(str); nameinput = new JComboBox(); codeinput = new JTextField(10); sexyinput = new JTextField(10); ageinput = new JTextField(10); birthdayinput = new JTextField(10); addressinput = new JTextField(10); gradeinput = new JTextField(10); majorinput = new JTextField(10); // /将存储在Vector中的数据提取出来重新赋值给学生对象。再利用学生对象中 // getname方法来提取出学生姓名来,最后使用组合列表框的添加功能将这些名字添加到列表中去。 Vector vec = store.getstudent(con, sql); for (int i = 0; i < vec.size(); i++) { studentBean one = (studentBean) vec.get(i); String nameselect = one.getname(); nameinput.addItem(nameselect); } String namestring = (String) nameinput.getSelectedItem(); studentBean p = store.getobject(con, namestring); String inputcode = p.getcode(); String inputsexy = p.getsexy(); String inputage = p.getage(); String inputbirthday = p.getbirthday(); String inputaddress = p.getaddress(); String inputgrade = p.getgrade(); String inputmajor = p.getmajor(); codeinput.setText(inputcode); sexyinput.setText(inputsexy); ageinput.setText(inputage);

28

用递归、非递归两种方法遍历二叉树

birthdayinput.setText(inputbirthday); addressinput.setText(inputaddress); gradeinput.setText(inputgrade); majorinput.setText(inputmajor);

JButton addition = new JButton(\"Addition\"); JButton delete = new JButton(\"Delete\"); JButton update = new JButton(\"Updata\"); JButton bereturn = new JButton(\"Return\");

GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.weightx = 4; constraints.weighty = 6;

add(title, constraints, 0, 0, 4, 1); // 使用网格组布局添加控件 add(name, constraints, 0, 1, 1, 1); add(code, constraints, 0, 2, 1, 1); add(sexy, constraints, 0, 3, 1, 1); add(age, constraints, 0, 4, 1, 1);

add(nameinput, constraints, 1, 1, 1, 1); add(codeinput, constraints, 1, 2, 1, 1); add(sexyinput, constraints, 1, 3, 1, 1); add(ageinput, constraints, 1, 4, 1, 1); add(birthday, constraints, 2, 1, 1, 1); add(address, constraints, 2, 2, 1, 1); add(grade, constraints, 2, 3, 1, 1); add(major, constraints, 2, 4, 1, 1);

add(birthdayinput, constraints, 3, 1, 1, 1); add(addressinput, constraints, 3, 2, 1, 1); add(gradeinput, constraints, 3, 3, 1, 1); add(majorinput, constraints, 3, 4, 1, 1); add(addition, constraints, 0, 5, 1, 1); add(delete, constraints, 1, 5, 1, 1); add(update, constraints, 2, 5, 1, 1); add(bereturn, constraints, 3, 5, 1, 1);

// /通过点击每一个列表框中的名字,会相应地显示出此名字的所有信息 nameinput.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { String namestring = (String) nameinput.getSelectedItem(); studentBean p = store.getobject(con, namestring); String inputcode = p.getcode(); String inputsexy = p.getsexy(); String inputage = p.getage(); String inputbirthday = p.getbirthday(); String inputaddress = p.getaddress(); String inputgrade = p.getgrade();

29

用递归、非递归两种方法遍历二叉树

String inputmajor = p.getmajor(); codeinput.setText(inputcode); sexyinput.setText(inputsexy); ageinput.setText(inputage); birthdayinput.setText(inputbirthday); addressinput.setText(inputaddress); gradeinput.setText(inputgrade); majorinput.setText(inputmajor); } });

// /返回主菜单

bereturn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { studentmanageframe manageframe = new studentmanageframe(); manageframe.setVisible(true); studentinfoframe.dispose(); } });

// /进入添加主界面

addition.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { Student_Frame addfr = new Student_Frame(); addfr.setVisible(true); } });

// /更新按钮,使得从数据库表中,将数据提取显示到界面中 update.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String name1 = af.ss.getname(); String code1 = af.ss.getcode(); String age1 = af.ss.getage(); String sexy1 = af.ss.getsexy(); String birthday1 = af.ss.getbirthday(); String address1 = af.ss.getaddress(); String grade1 = af.ss.getgrade(); String major1 = af.ss.getmajor(); nameinput.addItem(name1); nameinput.setSelectedItem(name1); codeinput.setText(code1); ageinput.setText(age1); sexyinput.setText(sexy1); addressinput.setText(address1); birthdayinput.setText(birthday1); gradeinput.setText(grade1);

30

用递归、非递归两种方法遍历二叉树

majorinput.setText(major1); } }); // /删除数据,且更新到数据库中 delete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { String namestring = (String) nameinput.getSelectedItem(); From_student store = new From_student(); try { Connection con = store.getConnection(); Statement st = con.createStatement(); String sql = \"delete * from studentinfo where name = '\" + namestring + \"'\"; st.executeUpdate(sql); } catch (Exception e) { } nameinput.removeItem(namestring); } }); } }

class Student_Frame extends JPanel { String codetext;

String agetext;

String sexytext;

String birthdaytext;

String addresstext;

String gradetext;

String majortext;

public final JTextField nameinput = new JTextField(10);

private static final long serialVersionUID = 1L;

31

用递归、非递归两种方法遍历二叉树

static final int WIDTH = 700; static final int HEIGHT = 400; static studentBean ss; JFrame studentBeanaddframe;

public void add(Component c, GridBagConstraints constraints, int x, int y, int w, int h) { constraints.gridx = x; constraints.gridy = y; constraints.gridwidth = w; constraints.gridheight = h; add(c, constraints); }

public Student_Frame() { studentBeanaddframe = new JFrame(); studentBeanaddframe.setTitle(\"Student addition system\");

studentBeanaddframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); studentBeanaddframe.setSize(WIDTH, HEIGHT); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int width = screenSize.width; int height = screenSize.height; int x = (width - WIDTH) / 2; int y = (height - HEIGHT) / 2; studentBeanaddframe.setLocation(x, y); studentBeanaddframe.setVisible(true); studentBeanaddframe.setResizable(false); studentBeanaddframe.add(this, BorderLayout.CENTER); GridBagLayout lay = new GridBagLayout(); setLayout(lay); JLabel name = new JLabel(\"Name\"); JLabel code = new JLabel(\"ID\"); JLabel sexy = new JLabel(\"Gender\"); JLabel age = new JLabel(\"Age\"); JLabel birthday = new JLabel(\"Birthday\"); JLabel address = new JLabel(\"Address\"); JLabel grade = new JLabel(\"Grade\"); JLabel major = new JLabel(\"major\"); final JTextField codeinput = new JTextField(10);

32

用递归、非递归两种方法遍历二叉树

final JTextField sexyinput = new JTextField(10); final JTextField ageinput = new JTextField(10); final JTextField birthdayinput = new JTextField(10); final JTextField addressinput = new JTextField(10); final JTextField gradeinput = new JTextField(10); final JTextField majorinput = new JTextField(10); JLabel title = new JLabel(\"Basic information\"); JButton additionbutton = new JButton(\"Addition\"); GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.NONE; constraints.weightx = 4; constraints.weighty = 6; add(title, constraints, 0, 0, 4, 1); // 使用网格组布局添加控件 add(name, constraints, 0, 1, 1, 1); add(code, constraints, 0, 2, 1, 1); add(sexy, constraints, 0, 3, 1, 1); add(age, constraints, 0, 4, 1, 1); add(nameinput, constraints, 1, 1, 1, 1); add(codeinput, constraints, 1, 2, 1, 1); add(sexyinput, constraints, 1, 3, 1, 1); add(ageinput, constraints, 1, 4, 1, 1); add(birthday, constraints, 2, 1, 1, 1); add(address, constraints, 2, 2, 1, 1); add(grade, constraints, 2, 3, 1, 1); add(major, constraints, 2, 4, 1, 1); add(birthdayinput, constraints, 3, 1, 1, 1); add(addressinput, constraints, 3, 2, 1, 1); add(gradeinput, constraints, 3, 3, 1, 1); add(majorinput, constraints, 3, 4, 1, 1); add(additionbutton, constraints, 0, 5, 4, 1); // /将每个文本域中的信息赋值给变量,再将变量以值的形式存储到数据库的表中 // /最后,再将这些值存储到学生对象中,并且这个学生对象是一个静态的对象 additionbutton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { try { String nametext = nameinput.getText(); codetext = codeinput.getText(); agetext = ageinput.getText(); sexytext = sexyinput.getText(); birthdaytext = birthdayinput.getText(); addresstext = addressinput.getText(); gradetext = gradeinput.getText();

33

用递归、非递归两种方法遍历二叉树

majortext = majorinput.getText(); From_student store = new From_student(); Connection con = store.getConnection(); Statement st = con.createStatement(); String sql = \"insert into studentinfo values('\" + nametext + \"','\" + codetext + \"','\" + sexytext + \"','\" + agetext + \"','\" + addresstext + \"','\" + birthdaytext + \"','\" + gradetext + \"','\" + majortext + \"')\"; st.executeUpdate(sql); ss = new studentBean(nametext, codetext); ss.setage(agetext); ss.setsexy(sexytext); ss.setaddress(addresstext); ss.setbirthday(birthdaytext); ss.setgrade(gradetext); ss.setmajor(majortext); Vector vec = new Vector(); vec.add(ss); } catch (Exception e) { } studentBeanaddframe.dispose(); } }); } }

class studentBean {

private String name;

private String code;

private String sexy;

private String birthday;

private String address;

private String age;

private String grade;

34

用递归、非递归两种方法遍历二叉树

private String major;

studentBean(String name, String code) { this.name = name; this.code = code; }

public String getname() { return name; }

public String getcode() { return code; }

public void setsexy(String sexy) { this.sexy = sexy; }

public void setbirthday(String birthday) { this.birthday = birthday; }

public void setage(String age) { this.age = age; }

public void setaddress(String address) { this.address = address; }

public void setgrade(String grade) { this.grade = grade; }

public void setmajor(String major) { this.major = major; }

public String getsexy() { return sexy; }

public String getbirthday() {

35

用递归、非递归两种方法遍历二叉树

return birthday; }

public String getage() { return age; }

public String getaddress() { return address; }

public String getgrade() { return grade; }

public String getmajor() { return major; }

public String toString() { String information = \"学生姓名:\" + name + \"学号:\" + code + \"年龄:\" + age + \"出生年月:\" + birthday + \"家庭地址:\" + address + \"班级:\" + grade + \"专业:\" + major; return information; } }

3.界面显示:

36

用递归、非递归两种方法遍历二叉树

37

用递归、非递归两种方法遍历二叉树

38

用递归、非递归两种方法遍历二叉树

39

用递归、非递归两种方法遍历二叉树

40

用递归、非递归两种方法遍历二叉树

六、结束语

经过本次的课程设计,我学到了很多东西,最终完成了本次课程设计。希望

在以后的学习生活当中能够再接再厉。同时我感谢每一位给予我帮助的老师和同学,他们给了我很多的支持和动力。对于设计出这个数据库应用系统来说,最后的结果固重要,但更重要的是它让自己了解了数据库设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。首先分析其以后的销售情况以及技术可行性。如果二者可行,我们接下来做的就是总体设计。我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块。这就是整体设计。在对每一个模块进行细化形成最为简单的模块。然后是考虑每一细化模块的算法并将其用语言刻画出来。这就是详细设计。这就迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。克服困难,坚持不懈作为一个软件编程者更是必不可少的。只有敢于对困难说不,我们才能成为真正的软件编程者。不懈上帝是公平的,又付出就有回报。眼前的困难只是你前进路上的绊脚石。只要我们不怕痛,我们就能坚持的走下来,最终走向胜利。人类需要处理的数据越来越多,对数据管理的要求也越来越重要。软件的发展也从面向程序发展成为面向数据。

41

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务