当前位置:文档之家› Java课程设计报告

Java课程设计报告

Java课程设计报告
Java课程设计报告

目录

第一章总体设计 (1)

1.1本系统的主要功能 (1)

1.2系统包含的类及类之间的关系 (1)

1.3 Java源文件及其功能 (1)

1.4相关文件及其功能 (2)

第二章详细设计 (3)

2.1主类MainWindow (3)

2.2类Database (6)

2.3类StuBean (9)

2.4类InputStudent (13)

2.5类ModifyStudent (17)

2.6类QueryStudent (21)

2.7类DeleteStudent (25)

第三章功能测试及运行效果 (29)

3.1 系统主界面 (29)

3.2 录入学生信息界面 (29)

3.3 查询学生信息界面 (30)

3.4 修改学生信息界面 (30)

3.5 修改学生信息界面 (31)

工作总结 (32)

参考文献 (33)

第一章总体设计

1.1本系统的主要功能

本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。

1.2系统包含的类及类之间的关系

本系统共包括7个Java源文件和3个辅助文件。类之间的关系如图1-1所示

图 1-1 类之间的关系图

1.3 Java源文件及其功能

1.MainWindow.java

该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。

2.InputStudent.java

该类创建的对象是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。

3.ModifyStudent.java

该类创建的对象是MainWindow类的重要成员之一,负责提供修改学生基本信息的界面。

4.DeleteStudent.java

该类创建的对象是MainWindow类的重要成员之一,负责提供删除学生基本信息的界面。

5.QueryStudent.java

该类创建的对象是MainWindow类的重要成员之一,负责提供查询学生基本信息以及打印基本信息的界面。

6.Database.java

该类负责提供打开与关闭数据库连接的功能。

7.StuBean.java

该类负责数据库操作,包括对学生信息数据库的添加、查询、修改、删除。

1.4相关文件及其功能

1.welcome.jpg

为主窗口的背景图片,MainWidow需要调用该文件。

2.icon.jpg

该文件是窗口最小化时的窗口图标,MainWidow需要调用该文件。

3.专业.txt

该文件为专业组合的组合键提供下拉菜单的内容,InputStudent与ModifyStudent需要

调用该文件。

4 scmanage.mdb

该文件为本程序数据源,负责保存学生基本信息,Database连接到该数据库

第二章详细设计

2.1主类MainWindow

(1)成员变量见表2-1

(2)方法见表2-2

表2-2 主要方法

(3)源代码:

package Stu;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class MainWindow extends JFrame implements ActionListener { /**

*

*/

private static final long serialVersionUID = 1L;

/**

* 主窗口的初始化

*/

InputStudent ins;

ModifyStudent mos;

QueryStudent qus;

DeleteStudent des;

// 建立菜单栏

JMenuBar bar;

// 建立“系统管理”菜单组

JMenu menuSystem;

JMenuItem itemExit;

JMenuItem itemWel;

// 建立“学生管理”菜单组

JMenu menuStu;

JMenuItem itemSearch;

JMenuItem itemAdd;

JMenuItem itemEdit;

JMenuItem itemDelete;

File file = null;

CardLayout card;

JLabel label = null;

JPanel pCenter;

public MainWindow() {

// 生成“系统管理”组

menuSystem = new JMenu("系统管理");

itemWel = new JMenuItem("欢迎界面");

itemExit = new JMenuItem("退出");

// 生成“学生管理”组

menuStu = new JMenu("学生管理");

itemAdd = new JMenuItem("录入学生信息");

itemSearch = new JMenuItem("查询学生信息");

itemEdit = new JMenuItem("修改学生信息");

itemDelete = new JMenuItem("删除学生记录");

// 添加所有菜单组

bar = new JMenuBar();

bar.add(menuSystem);

bar.add(menuStu);

// 添加“系统管理”菜单项

menuSystem.add(itemWel);

menuSystem.add(itemExit);

// 添加“学生管理”菜单项

menuStu.add(itemAdd);

menuStu.add(itemSearch);

menuStu.add(itemEdit);

menuStu.add(itemDelete);

setJMenuBar(bar);

// 设置主窗口

label = new JLabel("学生信息管理系统", JLabel.CENTER);

label.setIcon(new ImageIcon(getClass().getResource("welcome.jpg")));

label.setFont(new Font("黑体", Font.BOLD, 40));

label.setHorizontalTextPosition(SwingConstants.CENTER);

label.setForeground(Color.RED);

// 添加事件监听

itemExit.addActionListener(this);

itemWel.addActionListener(this);

itemAdd.addActionListener(this);

itemSearch.addActionListener(this);

itemEdit.addActionListener(this);

itemDelete.addActionListener(this);

// 卡片布局管理器设置

card = new CardLayout();

pCenter = new JPanel();

pCenter.setLayout(card);

ins = new InputStudent();

mos = new ModifyStudent();

qus = new QueryStudent();

des = new DeleteStudent();

pCenter.add("欢迎界面",label);

pCenter.add("录入界面", ins);

pCenter.add("查询界面",qus);

pCenter.add("修改界面", mos);

pCenter.add("删除界面", des);

add(pCenter, BorderLayout.CENTER);

setTitle("学生信息管理系统");//设置窗口名

ImageIcon icon = new ImageIcon(getClass().getResource("icon.jpg"));//设置最小化图标

setIconImage(icon.getImage());

validate();

setVisible(true);

//setExtendedState(JFrame.MAXIMIZED_BOTH);

setBounds(250, 200,440, 390);

// 关闭窗口

setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

int n = JOptionPane.showConfirmDialog(null, "确认退出吗?", "确认对话框",

JOptionPane.YES_NO_OPTION);

if (n == JOptionPane.YES_OPTION)

System.exit(0);

}

});

}

// 事件处理

public void actionPerformed(ActionEvent e) {

//返回欢迎界面

if(e.getSource() == itemWel){

int ok = JOptionPane.showConfirmDialog(this, "确认返回吗?", "确认对话框",

JOptionPane.YES_NO_OPTION);

if (ok == JOptionPane.YES_OPTION)

card.show(pCenter,"欢迎界面");

}

//退出

else if (e.getSource() == itemExit) {

int n = JOptionPane.showConfirmDialog(this, "确认退出吗?", "确认对话框",

JOptionPane.YES_NO_OPTION);

if (n == JOptionPane.YES_OPTION)

System.exit(0);

}

//录入

else if (e.getSource() == itemAdd) {

ins.clearMess();

card.show(pCenter, "录入界面");

}

//修改

else if (e.getSource() == itemEdit) {

mos.clearMess();

card.show(pCenter, "修改界面");

}

//查询

else if (e.getSource() == itemSearch) {

qus.clearMess();

card.show(pCenter,"查询界面");

}

//删除

else if (e.getSource() == itemDelete) {

card.show(pCenter, "删除界面");

}

}

public static void main(String args[]) {

new MainWindow();

}

}

2.2类Database

(1)成员变量见表2-3

(2)方法见表2-4

表2-4 主要方法

(3)源代码:

package Stu;

import java.sql.*;

/**

* 连接数据库的类

*/

public class Database {

private Statement stmt=null;

ResultSet rs=null;

private Connection conn=null;

String sql;

String strurl="jdbc:odbc:scmanage";

public Database(){

}

/**

* 打开数据库连接

*/

public void OpenConn()throws Exception{

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(strurl);

}

catch(Exception e){

System.err.println("OpenConn:"+e.getMessage());

}

}

/**

* 执行SQL查询语句,返回结果集RS

*/

public ResultSet executeQuery(String sql){

stmt = null;

rs=null;

try{

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR _READ_ONLY);

rs=stmt.executeQuery(sql);

}

catch(SQLException e){

System.err.println("executeQuery:"+e.getMessage());

}

return rs;

}

/**

* 执行SQL更新语句

*/

public void executeUpdate(String sql){

stmt=null;

rs=null;

try{

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR _READ_ONLY);

stmt.executeQuery(sql);

https://www.doczj.com/doc/6d5766855.html,mit();

}

catch(SQLException e){

System.err.println("executeUpdate:"+e.getMessage());

}

}

public void closeStmt(){

try{

stmt.close();

}

catch(SQLException e){

System.err.println("closeStmt:"+e.getMessage());

}

}

/**

* 关闭数据库连接

*/

public void closeConn(){

try{

conn.close();

}

catch(SQLException ex){

System.err.println("aq.closeConn:"+ex.getMessage());

}

}

/*

*转换编码

*/

public static String toGBK(String str){

try {

if(str==null)

str = "";

else

str=new String(str.getBytes("ISO-8859-1"),"GBK");

}

catch (Exception e) {System.out.println(e);}

return str;

}

}

2.3类StuBean

(1)成员变量见表2-5

(2)方法见表2-4

表2-4 主要方法

(3)源代码:

package Stu;

import java.sql.*;

import javax.swing.*;

//有关学生信息数据库操作的类

public class StuBean {

String sql;

ResultSet rs = null;

String sNum;

String sName;

String sSex;

String sMajor;

String sGrade;

String sBirth;

//添加学生信息

public void stuAdd(String num, String name, String sex,String major, String grade, String birth){

Database DB = new Database();

this.sNum = num;

this.sName = name;

this.sSex = sex;

this.sMajor = major;

this.sGrade = grade;

this.sBirth = birth;

if(sNum == null||sNum.equals("")){

JOptionPane.showMessageDialog(null, "请输入学生学号!", "错误", JOptionPane.ERROR_MESSAGE);

return;

}

else if(sName == null||sName.equals("")){

JOptionPane.showMessageDialog(null, "请输入学生姓名!", "错误", JOptionPane.ERROR_MESSAGE);

return;

}

else if(sGrade == null||sGrade.equals("")){

JOptionPane.showMessageDialog(null, "请输入学生年纪!", "错误", JOptionPane.ERROR_MESSAGE);

return;

}

else if(sBirth == null||sBirth.equals("")){

JOptionPane.showMessageDialog(null, "请输入学生生日!", "错误", JOptionPane.ERROR_MESSAGE);

return;

}

else{

sql = "insert into student(snum,sname,ssex,sgrade,smajor,sbirth) values ('"+sNum+"','"+sName+"','"+sSex+"','"+sGrade+"','"+sMajor+"','"+sBirth+"')";

try{

DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"成功添加一条新的纪录!");

}

catch(Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null, "保存失败", "错误", JOptionPane.ERROR_MESSAGE);

}

finally {

DB.closeStmt();

DB.closeConn();

}

}

}

// 修改学生信息

public void stuModify(String num, String name, String sex,String major, String grade, String birth){

Database DB = new Database();

this.sNum = num;

this.sName = name;

this.sSex = sex;

this.sMajor = major;

this.sGrade = grade;

this.sBirth = birth;

sql = "update student set snum = '"+sNum+"',sname = '"+sName+"', ssex =

'"+sSex+"', smajor = '"+sMajor+"', sgrade = '"+sGrade+"',sbirth = '"+sBirth+"' where snum = "+Integer.parseInt(sNum)+"";

try{

DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"成功修改一条新的纪录!");

}

catch(Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null, "更新失败", "错误", JOptionPane.ERROR_MESSAGE);

}

finally {

DB.closeStmt();

DB.closeConn();

}

}

//删除学生信息

public void stuDel(String num){

Database DB = new Database();

this.sNum = num;

sql = "delete from student where snum = "+Integer.parseInt(sNum)+"";

try{

DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"成功删除一条新的纪录!");

}

catch(Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null, "删除失败", "错误", JOptionPane.ERROR_MESSAGE);

}

finally {

DB.closeStmt();

DB.closeConn();

}

}

// 根据学号查询学生信息

public String[] stuSearch(String num){

Database DB = new Database();

this.sNum = num;

String[] s = new String[5];

if(sNum == null||sNum.equals("")){

JOptionPane.showMessageDialog(null, "请输入学生学号!", "错误", JOptionPane.ERROR_MESSAGE);

}

sql = "select * from student where snum = "+Integer.parseInt(sNum)+"";

try{

DB.OpenConn();

rs = DB.executeQuery(sql);

if(rs.next()){

s[0] = rs.getString("sname");

s[1] = rs.getString("ssex");

s[2] = rs.getString("smajor");

s[3] = rs.getString("sgrade");

s[4] = rs.getString("sbirth");

}

else{

s = null;

}

}

catch(Exception e){}

finally {

DB.closeStmt();

DB.closeConn();

}

return s;

}

}

2.4类InputStudent

(1)成员变量见表2-5

(2)方法见表2-4

表2-4 主要方法

(3)源代码:

package Stu;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class InputStudent extends JPanel implements ActionListener{ /**

*

*/

private static final long serialVersionUID = 1L;

/**

* 录入界面

*/

StuBean addStu = new StuBean();

StuBean queryStu = new StuBean();

//设置“录入界面”窗口

JTextField Snum,Sname,Sgrade,Sbirth;

JComboBox Smajor;

JRadioButton boy,girl;

ButtonGroup group = null;

JButton entry,reset;

public InputStudent(){

Snum = new JTextField(20);

Sname = new JTextField(20);

Smajor = new JComboBox();

try{

File f = new File("专业.txt");

FileReader fr = new FileReader(f.getPath());

BufferedReader br = new BufferedReader(fr);

String s = null;

while((s= br.readLine())!=null)

Smajor.addItem(s);

fr.close();

br.close();

}catch(IOException exp){}

Sgrade = new JTextField(20);

Sbirth = new JTextField(20);

group = new ButtonGroup();

boy = new JRadioButton("男",true);

girl = new JRadioButton("女",false);

group.add(boy);

group.add(girl);

entry = new JButton("录入");

reset = new JButton("重置");

entry.addActionListener(this);

reset.addActionListener(this);

Box box0 = Box.createHorizontalBox();

JLabel label = new JLabel("学生信息录入",JLabel.CENTER); label.setFont(new Font("黑体", Font.BOLD, 25));

box0.add(label);

Box box1 = Box.createHorizontalBox();

box1.add(new JLabel("学号:",JLabel.CENTER));

box1.add(Snum);

Box box2 = Box.createHorizontalBox();

box2.add(new JLabel("姓名:",JLabel.CENTER));

box2.add(Sname);

Box box3 = Box.createHorizontalBox();

box3.add(new JLabel("性别:",JLabel.CENTER));

box3.add(boy);

box3.add(girl);

Box box4 = Box.createHorizontalBox();

box4.add(new JLabel("专业:",JLabel.CENTER));

box4.add(Smajor);

Box box5 = Box.createHorizontalBox();

box5.add(new JLabel("年级:",JLabel.CENTER));

box5.add(Sgrade);

Box box6 = Box.createHorizontalBox();

box6.add(new JLabel("出生:",JLabel.CENTER));

box6.add(Sbirth);

Box boxH = Box.createVerticalBox();

boxH.add(box0);

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());

JPanel putButton = new JPanel();

putButton.add(entry);

putButton.add(reset);

JPanel messPanel = new JPanel();

messPanel.add(boxH);

messPanel.setBackground(Color.red);

putButton.setBackground(Color.cyan);

setLayout(new BorderLayout());

add(messPanel,BorderLayout.CENTER);

add(putButton,BorderLayout.SOUTH);

validate();

setVisible(true);

}

//事件处理

public void actionPerformed(ActionEvent e) {

if(e.getSource() == entry){

String number = "";

number = Snum.getText();

String rs[] = new String[4];

rs = queryStu.stuSearch(number);

if(rs != null){

String w = "该生基本信息已存在,请到修改页面修改!";

JOptionPane.showMessageDialog(this, w, "警告", JOptionPane.WARNING_MESSAGE);

}

else{

String name = Sname.getText();

String major = (String)Smajor.getSelectedItem();

String grade = Sgrade.getText();

String birth = Sbirth.getText();

String sex = null;

if(boy.isSelected())

sex = boy.getText();

if(girl.isSelected())

sex = girl.getText();

addStu.stuAdd(number, name, sex, major, grade, birth);

}

}

else if(e.getSource() == reset){

clearMess();

}

}

public void clearMess(){

Snum.setText(null);

Sname.setText(null);

Sgrade.setText(null);

Sbirth.setText(null);

}

}

2.5类ModifyStudent

(1)成员变量见表2-5

(2)方法见表2-4

表2-4 主要方法

(3)源代码:

package Stu;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import javax.swing.Box;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

public class ModifyStudent extends JPanel implements ActionListener{ /**

*

*/

private static final long serialVersionUID = 1L;

/**

* 修改界面

*/

StuBean modStu = new StuBean();

StuBean queryStu = new StuBean();

JTextField Snum,Sname,Sgrade,Sbirth;

JComboBox Smajor;

JRadioButton boy,girl;

ButtonGroup group = null;

JButton start,entry,reset;

JComboBox oldMess;

public ModifyStudent(){

Snum = new JTextField(20);

Sname = new JTextField(20);

Smajor = new JComboBox();

try{

FileReader fr = new FileReader("D:/我的文档

/workspace/StudentManager/src/Stu/专业.txt");

BufferedReader br = new BufferedReader(fr);

String s = null;

while((s= br.readLine())!=null)

Smajor.addItem(s);

fr.close();

br.close();

}catch(IOException exp){}

Sgrade = new JTextField(20);

Sbirth = new JTextField(20);

group = new ButtonGroup();

boy = new JRadioButton("男",true);

girl = new JRadioButton("女",false);

group.add(boy);

group.add(girl);

oldMess = new JComboBox();

start = new JButton("开始修改");

entry = new JButton("录入修改");

entry.setEnabled(false);

reset = new JButton("重置");

Snum.addActionListener(this);

start.addActionListener(this);

entry.addActionListener(this);

reset.addActionListener(this);

Box box0 = Box.createHorizontalBox();

JLabel label = new JLabel("学生信息修改",JLabel.CENTER);

label.setFont(new Font("黑体", Font.BOLD, 25));

box0.add(label);

Box box1 = Box.createHorizontalBox();

box1.add(new JLabel("学号:",JLabel.CENTER));

box1.add(Snum);

box1.add(start);

Box box2 = Box.createHorizontalBox();

box2.add(new JLabel("姓名:",JLabel.CENTER));

box2.add(Sname);

Box box3 = Box.createHorizontalBox();

box3.add(new JLabel("性别:",JLabel.CENTER));

box3.add(boy);

box3.add(girl);

Box box4 = Box.createHorizontalBox();

box4.add(new JLabel("专业:",JLabel.CENTER));

box4.add(Smajor);

Box box5 = Box.createHorizontalBox();

box5.add(new JLabel("年级:",JLabel.CENTER));

box5.add(Sgrade);

Box box6 = Box.createHorizontalBox();

box6.add(new JLabel("出生:",JLabel.CENTER));

box6.add(Sbirth);

Box boxH = Box.createVerticalBox();

boxH.add(box0);

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());

JPanel putButton = new JPanel();

putButton.add(entry);

putButton.add(reset);

JPanel messPanel = new JPanel();

messPanel.add(boxH);

messPanel.setBackground(Color.pink);

putButton.setBackground(Color.CYAN);

setLayout(new BorderLayout());

add(messPanel,BorderLayout.CENTER);

add(putButton,BorderLayout.SOUTH);

validate();

setVisible(true);

}

public void actionPerformed(ActionEvent e) { String number = Snum.getText();

java课程设计报告书

《Java程序设计》课程设计报告2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年7 月2 日

目录 1.JAVA程序设计书 3 1.1《简易连连看》 3 1.1.1具体要求 3 1.2本系统设计的知识点 3 2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

Java课程设计参考范文

基于B/S模式的小区物业管理系统的设计与实现 计算机科学与技术2009级一班 学生姓名:陆国良指导老师:陶世明 摘要:相比于C/S模式的物业管理系统,B/S模式的管理系统却极少。做一个B/S模式的物业管理系统,既可以让业主使用,又可以让物业管理人员使用,通过这个系统,获取到各自需要的信息,从而给管理带来便利。这也是我们开发物业管理系统的初衷。住户最基本的要求有以下几点:界面的友好性、易用性、实用性和吸引性。本设计将从以上几个方面进行系统的开发工作。物业管理人员除了有住户的以上要求外,管理的便利性也要考虑。在系统的开发中,使用JavaScript、CSS样式和HTML对界面进行布局,然后使用DOTNET平台下C#语言进行全面的开发,其中使用了三层架构的思想。 关键词:C/S, B/S, DOTNET, 三层架构 一、前言 物业管理系统在市场上已经是一项相当成熟的技术,例如思源物业,凤凰物业等。他们为许多开发物业管理的开发人员提供了成功的案例。为什么要使用信息化系统呢?在以前我们不都是使用一张纸,一支笔就搞定了么,为什么还要兴师动众来开发这样一个系统呢。下面进行一下前后的对比。 手工模式 ?传统的文档记录管理模式,易出错丢失; ?采用人工统计核算,工作量大且容易出错; ?不利于公司领导了解各部门的工作情况,影响企业整体决策; ?管理缺乏有效控制,工作流程不够规范; ?服务不及时,客户满意度低; 信息化后 ?数据管理容易; ?采用计算机进行运算,效率高且精确; ?操作简单方便; ?能够充分利用资源,做出合理的安排; 之所以人们对物业管理系统津津乐道,主要是因为小区是城市生活的基本单位,小区的管理直接影响到我们的生活质量。系统有使用Java开发的,有使用.Net开发的,有基于B/S模式的,有基于C/S 模式的,它们的共同出发点都是开发出高效的,便于管理的物业管理系统,这也是许多物业公司不惜高

java课程设计要求与题目

《面向对象程序设计》综合实验指导书一.课程设计的目的和任务 《面向对象程序设计》课程设计是软件工程专业本科学生在学习完《面向对象程序设计》课程之后的一个重要的实践环节。要求学生在教师的指导下,综合运用在《面向对象程序设计》课程中学过的面向对象程序设计思想与Java编程技巧,独立完成一项较为完整、并具有一定难度的课程设计任务,加深对面向对象程序设计思想的理解,掌握利用Java语言编写具体的应用程序。培养学生的团队合作精神、良好的程序设计风格以及了解应用程序的设计开发过程和Java程序编程与测试的能力。二.总体要求: 1、每个班分若干个组,每组2-3人(自由组合)课程设计题目由任 课老师指定; 2、人员分工:组长1人、组员1到2人。组长可由小组人员自行选出 或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。 3、程序编码总体要求: 编程工具统一使用Eclipse。 统一使用Java的AWT组件进行GUI编程(或Applet编程), 必须有登录界面,登录的用户名和密码为组长的名字的全 拼;非Applet程序要求有一个框架窗口,关闭窗口时要注意 处理窗口事件退出程序。 程序编码时,必须严格遵守Java程序标识符的一般约定,并 要加适量的注释。 4、程序编码完成后,一定要进行严密的测试工作。 5、文档内容要求: 封面(见封面文件)。以下每个内容为一章; 项目计划(内容是:小组人员名单与所负责的工作)。 程序详细功能描述(描述你的程序能完成什么功能)。要求 200字左右。 程序使用说明(对程序的每个操作步骤的屏幕画面进行载 图,并加以文字说明)。 此次课程设计的编程心得。要求每人50字以上。 文档的字体与大小,统一采用“宋体五号字”;要将以上内容 合写成一篇完整的文档;文档头要加入标题和目录索引。 6、程序完成后,要提交文档与程序(包括源码,每组提交一份),

Java课程设计报告模板

Java课程设计报告 模板

浙江科技学院 《Java程序设计》课程设计报告 设计题目:学生信息管理系统 姓名:邱焕明 学号: 所属院系:信息学院 专业:软件工程 小组成员:邱焕明 设计时间: -1-6 指导教师:虞建东

一、课程设计目的 (1)实验目的:结合开发的系统,给出学生信息管理系统 二、课程设计完成的任务 三、设计过程 (一)需求分析 1、基础资料管理 基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、学生信息管理 学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实

现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (二)系统设计概念、流程初定义 1、实体名:院系 2、实体名:班级 3、实体名:学生 4、实体名:课程 (三)系统内容规划 1、班级信息表 表3-1 班级信息表 2、课程信息表 表3-2 课程信息表

(四)系统总体设计 内 (五)系统详细设计 (六)系统测试 列名 数据类型 长度 备注 课程代码 char 10 主键 课程名称 varchar 50 无 学 分 tinyint 1 无 所属院系 varchar 50 无

java课设记事本说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩:

目录 摘要 (1) 序言 (2) 正文 (3) 1.系统设计与分析 (3) 2.详细设计 (3) 3.系统测试 (14) 4.软件使用说明书 (17) 设计总结 (18) 参考文献 (19) 致谢 (20) 附录(程序源代码) (21)

摘要 本次课程设计的题目是用java语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字:记事本程序;Java语言;Jcreator

序言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator开发工具。

Java课程设计

武汉科技大学城市学院 课程设计报告 课程设计名称JAVA程序设计课程设计 题目 A C M 院系信息工程学部 专业软件工程 班级 姓名 指导教师 2017 年 6 月23 日

课程设计评分表

JA V A编程课程设计指导书 学时:1周,学分:1 1.课程设计目的:JAVA编程课程设计属于软件开发类课程设计。该课程设计培养学生熟练应用当前主流的JAVA软件开发语言,检验软件的设计、编码与测试,具备较强的JAVA语言软件开发能力。 2.课程设计方式: (1)JAVA编程课程设计方式采取ACM测试的方式,利用所学的面向对象程序设计(JAVA)知识,培养学生具有分析应用问题的能力,能够独立完成应用程序的编制与调试工作。 (3)每个同学必须完成8-12道题,每题写出解题报告,解题报告内容:○1.题目标题○2.题目描述○3.解题思路○4.源码○5.小结 3.课程设计平台: eclipse或Myeclipse 4.课程设计考核方式 (1)学生独立提交软件设计作品和“课程设计报告书”,指导教师根据学生组提交的软件设计作品和“课程设计报告书”的质量,为学生组评定“优”“良”“中”“及格”或“不及格”; (2)根据各组学生所选题目的难易程度以及验收结果,为学生评定“优”“良”“中”“及格”或“不及格”。 “课程设计报告书”包括:课程设计项目名称,课程设计任务, 课程设计任务(功能)说明及功能模块图,数据库设计,各模块功能说明,使用的算法描述(如果需使用算法),各模块界面设计,各模块中关键代码段功能说明与代码行注释,测试说明,参考文献等。 5.参考文献 [1] 张思民. Java语言程序设计(第2版)[M].北京:清华大学出版社,2012.1 [2] 姜华. Java项目实战教程[M]. 北京:清华大学出版社,2012.9 [3] 陈喧. Java程序设计教程[M]. 北京:清华大学出版社,2011.5 [4] [美]Echel,B .Java编程思想(第四版)[M].北京:机械工业出版社,2007 [5] Michael Main. 数据结构:Java语言描述(第二版)(国外经典计算机科学教材)[M]. 北京:中国电力出版社,2007

JAVA课程设计大纲

淮海工学院 课程设计教学大纲 课程名称:面向对象课程设计 开课系部:软件工程 撰写人:纪兆辉 审核人: 修(制)订日期:2008年3月 系(院)主管领导签章: 淮海工学院教务处

面向对象课程设计大纲 课程类别:必修学时:40 课程性质:集中实践教学学分:2 适用专业:软件工程、网络工程开课系部:软件工程 一、基本目的与任务 面向对象课程设计是软件工程、网络工程专业实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。其目的在于加深对面向对象理论和基本知识的理解,掌握使用Java语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。 二、教学基本内容 正确运用常用的包、工具类和算法,熟练进行对象类的定义和使用,综合运用图形界面元素构造应用程序界面,熟悉Applet的工作原理,熟练编写Java应用程序和Applet小程序。对网络编程、多媒体编程、JDBC技术能有较全面准确的把握并会综合运用解决实际问题。 在课程设计中,为了提高开发效率,建议尝试选用开发工具Eclipse、NetBeans、Jbuilder。设计的选题要围绕Java的面向对象特点,把如下一些知识点的运用组织到课程设计的选题当中: 包、接口、抽象类 常用工具与算法--数组、向量、字符串、链表等 Java的多线程技术与动画制作 Java的网络编程 Java的数据库连接技术---JDBC Java的异常处理机制 面向对象技术中的继承、重载、各种修饰符

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

Javawebapp课程设计报告

《电子商务网站》课程设计报告 项目题目电子拍卖平台系统分析与设计 学生姓名 班级/ 学号 专业\ 指导教师 2011年10月制

1、系统概述 本系统实现的是一个网上拍卖系统,可以实现在线登录,注册;卖家上货,买家出价竞拍;拍卖商品列表、商品拍卖信息和商品搜索等功能,普通的Internet用户可以通过该系统注册成为会员后可以上传自己拍卖的产品和竞拍卖价的商品。 2、网站结构分析与设计 2.1目标设计 竞拍网站所要实现的功能如下。 会员注册:会员注册信息和会员登录验证 会员管理:会员资金管理 买家信息管理 卖家信息管理 2.2系统功能分析设计 竞拍网共分为三个模块:会员注册模块、会员个人管理模块和商品列表和搜索模块。其功能模块划分如图所示:

2.3数据库结构设计 根据系统功能的设计要求和模块划分,表结构设计如下:

2.4 数据库需求分析 数据项和数据结构如下。 会员信息表:自动编号、用户名、密码和身份证号码、资金、日期 商品信息表:自动编号、商品名、上传人、商品详情 卖家信息表:会员编号、商品编号、商品价格、截止时间 商品竞拍成功信息列表:商品名、用户名、竞拍时间、起初价格、最终价格、最成交时间 2.5、开发环境 开发工具:myeclipse 服务器软件:tomcat 数据库:MySQL 3.网站详细设计. 3.1网站流程设计

3.2数据库功能设计 三个存储过程: Onsell:展示拍卖信息,返回当时拍卖的所有信息; Buyingshow:展示某个商品详细信息 Buying:当用户竟拍是执行. 3.3 JA VA控制层设置 POJO包:与每一项功能相对应,设置对象类 DAO包:所有连接数据库的代码 Servlet:所有前台页面的操作过程. 3.4前台设计 以JSP为主,辅助以JS的主流技术,实现网页的动态效果和数据的动态接收,这里是项目最困难的地方. 4.网站的实施 前台\后台\控制分布实施: 4.1,初步软件结构实施 其中DAO包里全部是与数据库有关的连接数据库模式。 POJO包里全部是业务需要的数据结构类。 SERVLET包里全部是逻辑控制的控制模式。

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

java课程设计报告书

《Java程序设计》课程设计报告 2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年 7 月 2 日 目录 1.JAVA程序设计书 3 1.1《简易连连看》3 1.1.1具体要求 3 1.2本系统设计的知识点 3

2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

java课程设计实验报告

Java课程设计实验报告实验题目:打字游戏小程序 专业:计算机科学与技术系 班级:1202班 成员:

Java课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1) packageDownCharGame; import import import /** *下落的字母实体类 *@authorshenbf * */ publicclassCharEntity{ raw(g); } etY()>=480){ etX((int)()*580)+30); chs[i].setY(0);

chs[i].setColor(newColor((int)()*256), (int)()*256),(int)()*256))); chs[i].setCh((char)(65+(int)()*26))); } chs[i].down(); } repaint();tart(); } publicvoidkeyTyped(KeyEvente){ } publicvoidkeyPressed(KeyEvente){ } publicvoidkeyReleased(KeyEvente){ etCh()||key==chs[i].getCh()+32){ etY()

Java课程设计报告书

华东交通大学理工学院课程设计报告书( 2010-- 2011年度第 2 学期) 所属课程名称 Java面向对象程序设计题目设计一个多功能计算器分院电信分院 专业班级 09信管<1>班 学号 20090210450106 蔡炜指导教师黄建华 2011年06月23日

华东交通大学理工学院 课程设计(论文)任务书专业09信管班级 <1>班姓名蔡炜 一、课程设计(论文)题目设计一个多功能计算器 二、课程设计(论文)工作:自 2011 年06 月 13日起至2011年 06 月 23日止。 三、课程设计(论文)的内容要求: 本应用程序继承自框架类(JFrame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、清零按钮事件(“C”)。

在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。 学生签名: ( ) 2011 年06 月 23 日 课程设计(论文)评阅意见 评阅人职称 20 年月日

Java课程设计说明书要点

1 需求分析 随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。 该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。 2 具体功能 (1)新员工注册功能。 (2)员工登陆功能。 (3)员工查看个人工资功能。 (4)管理人员登录功能。 (5)管理人员对员工基本资料的修改,添加,删除,查询功能。 (6)管理人员对员工工资信息的修改,添加,删除,查询功能。 3 系统设计 3.1、功能示意图

系统功能如图3-1所示: 图3-1系统功能图 3.2、数据库设计 本软件数据库类型为MYSQL ,数据库“employee.mdb ”,其中共包含三种表,其一是 登录用户信息表 user (如表3-1),其二是员工基本信息表emps (如表3-2),其三是员工工资信息表salary (如表3-3)。对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps 截图(如图3-3),员工工资信息表salary 截图(如图3-4)。 员工 管理员 个人工资显示 showSalaryFrm.java 登陆界面 loginFrm.java 主界面mainFrm.java 员 工 基 本 信 息 的 删 除 工 资 信 息 的 查 询 工 资 信 息 的 修 改 工 资 信 息 的 删 除 工 资 信 息 的 添 加 员 工 基 本 信 息 的 添 加 员 工 基 本 信 息 的 查 询 员 工 基 本 信 息 的 修 改 版 本 信 息

java课程设计实验报告

一实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 二、实验要求 (1)问题描述准确、规范; (2)程序结构合理,调试数据准确、有代表性; (3)界面布局整齐,人机交互方便; (4)输出结果正确; (5)正确撰写实验报告。 三、设计内容 1、计算器 计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。 2、文本编辑器 可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其他功能参照windows的文本编辑器。

四.实验步骤 (1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 五. 源代码及运行结果 1.计算器源代码 import .*; import .*; import .*; public class jisuanqi extends WindowAdapter { , "=", "+","n!" ,"关闭" }; static double a, sum=1; static String s, str ;rame(); } public void frame() { etBackground; txt = new TextField(""); (false);ddActionListener(new buttonlistener());ddActionListener(new close()); (this); (new BorderLayout());.计算器运行界面(1)计算器主界面

java课程设计方案

JAVA课程设计方案 1.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“写字留痕”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 设计方案 3.1总体设计 (1)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。 (2)问题分析:通过对“写字留痕”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下YearMonth 、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片,Music类用来实现音乐的播放控制。 (3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。 (2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。 (3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色 (4)记事本区,记事本容按年月日记录且保存。 (5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。 (6)日记本应该是开放的,容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。

Java课程设计--个人通讯录管理系统

《JAVA程序设计》课程设计说明书

目录 1 引言 (1) 1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 3.3数据库设计 (5) 4 详细设计与实现 (7) 4.1 登录模块 (7) 4.2 注册新用户模块 (8) 4.3 查询模块 (9) 4.4 添加模块 (11) 4.5 修改模块 (13) 4.6删除模块 (16) 4.7备份模块 (18) 4.8退出模块 (19) 5 小结和展望 (20) 参考文献 (22) 附录 (22) 使用说明书 (22)

1引言 1.1课程设计选题 《个人通讯录管理系统》 1.2课程设计的目的 通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。 在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。 2需求分析 2.1 功能需求 2.1.1个人通讯录功能需求 (1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。 (2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。 (3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。 (4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

javaweb课设报告

洛阳理工学院 课程设计报告 课程名称 Java web程序开发入门 专业计算机应用技术 _ 班级 _ 学号 _ 姓名 完成日期 _

目录 第一总体设计 (4) 1.1、设计目的: (4) 1.2设计题目: (4) 1.3.设计要求: (4) 第二设计容: (5) 2.1 题目一 (5) 2.1.1Tomcat服务器启动 (5) 2.1.2下载安装JDK (6) 2.1.3下载Eclipse安装包 (7) 2.2题目二 (8) 2.2.1分析 (8) 2.2.2用户注册设计思想 (9) 2.2.3用户注册功能实现 (9) 2.3题目三 (15) 2.3.1聊天室设计思想 (15) 2.3.2聊天室模块划分 (15)

2.3.3系统功能结构图 (18) 2.3.4 chatroom的模块设计分析 (16) 2.3.5ChatRoom 的关键技术 (19) 2.3.6 代码设计 (17) 2.3.7 聊天室功能实现 (20) 2.4题目四 (21) 2.4.1开发环境: (21) 2.4.2 系统分析: (25) 2.4.3功能实现: (26) 第三实训心得 (29)

第一总体设计 1.1、设计目的: 1、培养学生运用所学课程《Web程序设计(Java)》的理论知识和技能解决实际问题的能力,使学生在系统开发中得到Java Web编程方法及技能的综合训练。 2、培养学生调查研究、查阅技术文献以及编写技术报告的能力。 1.2设计题目: 1.下载并安装JDK、Tomcat、MySQL和Eclipse,完成Java Web应用程序开发环境的搭建。 2.使用JSP Model2模型,开发一个用户注册模块,要求:使用Servlet、JSP和Java Bean技术;界面友好;具有用户输入校验功能,并且在用户输入错误时给出出错信息。 3.使用JSP和JavaScript技术实现一个网络聊天室,功能要求具备一个使用用户昵称登录的页面,在聊天主窗口左侧有当时在线成员列表(建议采用AJAX技术),通过鼠标可以选择说话的对象(不允许自己对自己说话),在聊天时可以设置说话时表情,输入说话的容,单击发送按钮完成会话的发送,会话容实时显示在聊天主窗口,包括发言人、聊天对象、聊天容和会话发起的时间,选作的功能是将会话容保存在数据库中。

计算器设计的java课程设计报告

】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计

课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:

JAVA课程设计题目及要求.

Java课程设计题目及要求 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,学生确定设计题目后,要明确本次课程设计所要用到的技术点,回顾之前学习的这些知识点,或者到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAV A的应用系统综合实例,来掌握Java语言编程技巧。 二、参考题目及要求: 学生可选择下面题目或者自定题目,但要求具有一定难度和复杂度,是一个较为完整的应用程序。 1、编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2、编写一个计算器程序 要求: 界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。 实现要点:添加相关组件并进行按钮事件处理和键盘事件处理。

3、模拟龟兔赛跑 要求: 用图形用户界面实现。 能设置比赛时间,马匹的数量等等。 在任意时间段内马匹的速度是随机的。 开始比赛之后以动画显示赛马过程。 提示:使用多线程,赛马也可换成其他。 4、学生信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个学生信息表。(不限使用哪种数据库能连接数据库并实现查询、增、删、改等功能。 5、图书信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个图书信息表。(不限使用哪种数据库能连接数据库并实现查询、增、删、改等功能。 6、ATM柜员机模拟程序

要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1、查询余额:初始余额为10000元 (2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3、ATM存款:不能出现负存款。 (4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 7、超市收银系统 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。 8、电话号码查询系统。 要求:有电话录入,修改,增加,删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。 三、整体要求: 建议使用Eclipse开发环境完成作业,界面友好,代码的可维护性好,有必要的注释。

相关主题
文本预览
相关文档 最新文档