JAVA课程设计

JAVA课程设计
JAVA课程设计

课程设计(论文)任务书

指导、检查记录

目录

1题目要求 (4)

2系统设计 (4)

2.1功能模块设计1 (4)

2.1.1 功能说明: (4)

2.1.2 必要知识点: (5)

2.2功能模块设计2 (5)

2.2.1 系统逻辑结构设计 (5)

2.2.2 程序运行代码 (5)

3运行结果分析 (21)

4总结 (23)

参考文献 (24)

1题目要求

红河学院成绩查询

功能要求:

1. 根据学号查询学生成绩;

2. 可以按学年、学期查询。

2系统设计

描述为完成题目要求的系统设计,设计可以是按功能,或步骤分解,分解之后的内容要可检查,有相应的代码或文档说明这部分功能。

重点介绍自己负责部分的功能设计,设计可以包括功能模块图、必要的UML图,2.1 功能模块设计1

2.1.1功能说明:

1.创建主类MainFrame,下含4个类,对4个事件按钮添加监控,实现按钮事件为对应类的对象,出现相应功能窗口。

2.创建添加类Insert,题目虽只要求查询学生成绩,但我们不可能再代码中添加学生成绩,故需创建添加按钮,对按钮添加监控,实现按钮事件为获取文本域中的信息。

3.创建查询类QUERY,按照题目要求,分别创建学号,学年,学期三个查询按钮,此外,为了便于查询,又创建姓名和课程两个查询按钮以及一个显示全部信息的按钮。

4.创建修改类Modify,因存在添加类Insert,为了防止添加学生成绩信息时出现错误,故应当建立修改按钮,与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中的信息,不同的是以学号为主键进行查找并更新。

5.创建删除类DELETE,同理,当学生成绩信息过多时进行删除,且使得窗口界面整洁合理。与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信息,不同的是以学号为主键进行查找并将删除信息输出到文本框中。

2.1.2必要知识点:

1.创建图形界面需运用到GUI语句,可参考课本355页的知识。

2.创建图形界面以后需要创建相关按钮,每一个按钮对应一个相关功能类。

3.为每一个按钮添加监听。

4.大致完成以后,修改界面,使其整洁有序,并可以修改界面大小,按钮颜色。

5.添加与修改两个类需要连接到SQL2008数据库,在数据库中进行信息的添加与删

除。

2.2 功能模块设计2

2.2.1系统逻辑结构设计

学生成绩信息表

2.2.2程序运行代码

MainFrame类:

package dazuoye;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

public class MainFrame extends JFrame {

JButton insert, query, delete, modify;

JPanel panel, panel1, panel2;

public MainFrame() {

// TODO Auto-generated method stub

ImageIcon img = new ImageIcon("1.gif");

JLabel text1, text2, picture = new JLabel(img);

JFrame frame = new JFrame("学生成绩查询管理系统");

insert = new JButton("添加数据");

insert.setBackground(Color.orange);

insert.addActionListener(new insertActionPerformed());

query = new JButton("查询数据");

query.addActionListener(new queryActionPerformed());

query.setBackground(Color.orange);

modify = new JButton("修改数据");

modify.setBackground(Color.orange);

modify.addActionListener(new modifyActionPerformed());

delete = new JButton("删除数据");

delete.setBackground(Color.orange);

delete.addActionListener(new deleteActionPerformed());

frame.setSize(360, 200);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container contentPane = frame.getContentPane();

contentPane.setLayout(new BorderLayout());

text1 = new JLabel("红河学院学生成绩管理系统", JLabel.CENTER);

text1.setFont(new Font("宋体", Font.BOLD, 26));

text1.setForeground(Color.blue);

text2 = new JLabel(" " + " ");

text2.setFont(new Font("TimesRoman", Font.ROMAN_BASELINE, 14));

panel1 = new JPanel();

panel1.add(insert);

panel1.add(query);

panel2 = new JPanel();

panel2.add(modify);

panel2.add(delete);

panel1.setOpaque(false);

panel2.setOpaque(false);

panel = new JPanel();

panel.add(text2, BorderLayout.NORTH);

panel.add(panel1, BorderLayout.NORTH);

panel.add(panel2, BorderLayout.SOUTH);

panel.setOpaque(false);

contentPane.add(text1, BorderLayout.NORTH);

contentPane.add(panel, BorderLayout.CENTER);

frame.getLayeredPane().add(picture, new Integer(Integer.MIN_VALUE));

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width / 2;

int screenHeight = screenSize.height / 2;

int height = this.getHeight();

int width = this.getWidth();

picture.setBounds(0, 0, 360, 360);

((JPanel) contentPane).setOpaque(false);

frame.setLocation(screenWidth - width / 2, screenHeight - height / 2);

frame.setVisible(true);

}

public class insertActionPerformed implements ActionListener { public void actionPerformed(ActionEvent e) {

new Insert().setVisible(true);

}

}

public class modifyActionPerformed implements ActionListener { public void actionPerformed(ActionEvent e) {

new Modify().setVisible(true);

}

}

public class queryActionPerformed implements ActionListener { public void actionPerformed(ActionEvent e) {

new Query().setVisible(true);

}

}

public class deleteActionPerformed implements ActionListener { public void actionPerformed(ActionEvent e) {

new Delete().setVisible(true);

}

}

public static void main(String[] args) {

new MainFrame();

}

}

Insert类:

package dazuoye;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Insert extends JFrame {

JTextField input1, input2, input3, input4, input5, input6,input7;

JLabel label1, label2, label3, label4, label5;

JButton button;

static Statement st;

static {

try {

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

Connection con = DriverManager.getConnection("jdbc:odbc:student");

st = con.createStatement();

} catch (Exception e) {

}

}

ResultSet rs;

public Insert() {

input1 = new JTextField(15);

input2 = new JTextField(15);

input3 = new JTextField(15);

input4 = new JTextField(15);

input5 = new JTextField(15);

input6 = new JTextField(15);

input7 = new JTextField(15);

JPanel panel = new JPanel();

panel.setLayout(new GridLayout(7,2));

panel.add(new JLabel("学号"), BorderLayout.CENTER);

panel.add(input1);

panel.add(new JLabel("姓名"), BorderLayout.CENTER);

panel.add(input2);

panel.add(new JLabel("学年"), BorderLayout.CENTER);

panel.add(input3);

panel.add(new JLabel("学期"), BorderLayout.CENTER);

panel.add(input4);

panel.add(new JLabel("语文"), BorderLayout.CENTER);

panel.add(input5);

panel.add(new JLabel("英语"), BorderLayout.CENTER);

panel.add(input6);

panel.add(new JLabel("数学"), BorderLayout.CENTER);

panel.add(input7);

button = new JButton("添加");

button.addActionListener(new mysql());

Container container = getContentPane();

container.add(panel, BorderLayout.CENTER);

container.add(button, BorderLayout.SOUTH);

setTitle("添加数据窗口");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setSize(300,300);

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width / 2;

int screenHeight = screenSize.height / 2;

int height = this.getHeight();

int width = this.getWidth();

setLocation(screenWidth - width / 2, screenHeight - height / 2);

setVisible(true);

}

class mysql implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String sno = input1.getText().trim();

String name = input2.getText().trim();

String year = input3.getText().trim();

String semester = input4.getText().trim();

String chinese = input5.getText().trim();

String english = input6.getText().trim();

String maths = input7.getText().trim();

if (sno.equals("") | name.equals("") | year.equals("") |

semester.equals("")| chinese.equals("")| english.equals("")| maths.equals("")) {

JOptionPane.showMessageDialog(Insert.this, "请重新输入", "提示对话框", 1);

} else {

String sql = "insert into

ScoreInfo(ID,name,year,semester,Chinese,English,Maths) values('" + sno + "','"

+ name + "','" + year + "'," +semester+ "',"+ chinese + "," + english + "," + maths + ");";

st.executeUpdate(sql);

JOptionPane.showMessageDialog(Insert.this, "数据添加成功", "提示对话框", 1);

input1.setText("");

input2.setText("");

input3.setText("");

input4.setText("");

input5.setText("");

input6.setText("");

input7.setText("");

}

} catch (Exception ee) {

}

}

}

}

QUERY类:

package dazuoye;

import java.awt.*;

import javax.swing.event.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Query extends JFrame {

JTextArea show;

JButton button1, button2, button3, button4, button5,button6;;

JTextField field1, field2, field3,field4;

JComboBox comoBox;

static Statement st;

static {

try {

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

Connection con = DriverManager.getConnection("jdbc:odbc:student");

st = con.createStatement();

} catch (Exception e) {

}

}

public Query() {

show = new JTextArea(6, 15);

button1 = new JButton("显示所有信息");

button1.addActionListener(new Mysql1());

Container container = getContentPane();

container.setLayout(new BorderLayout());

JPanel panel = new JPanel();

JPanel mainpanel = new JPanel();

button2 = new JButton("按学号查询");

button2.addActionListener(new Mysql2());

panel.add(button2);

field1 = new JTextField(7);

panel.add(field1);

panel.setVisible(true);

mainpanel.add(panel);

button3 = new JButton("按姓名查询");

button3.addActionListener(new Mysql3());

panel.add(button3);

field2 = new JTextField(6);

panel.add(field2);

panel.setVisible(true);

mainpanel.add(panel);

button4 = new JButton("按学年查询");

button4.addActionListener(new Mysql4());

panel.add(button4);

field3 = new JTextField(6);

panel.add(field3);

panel.setVisible(true);

mainpanel.add(panel);

button5 = new JButton("按学期查询");

button5.addActionListener(new Mysql4());

panel.add(button5);

field4 = new JTextField(6);

panel.add(field4);

panel.setVisible(true);

mainpanel.add(panel);

String items[] = { "请选择", "语文", "英语", "数学" };

comoBox = new JComboBox(items);

button6 = new JButton("按课程名称查询");

button6.addActionListener(new Mysql5());

panel.add(button6);

panel.add(comoBox);

panel.setVisible(true);

mainpanel.add(panel);

panel = new JPanel();

panel.add(button1);

container.add(mainpanel, BorderLayout.NORTH);

container.add(panel, BorderLayout.SOUTH);

container.add(new JScrollPane(show), BorderLayout.CENTER);

setTitle("查询数据");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setSize(1000, 400);

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width / 2;

int screenHeight = screenSize.height / 2;

int height = this.getHeight();

int width = this.getWidth();

setLocation(screenWidth - width / 2, screenHeight - height / 2);

setVisible(true);

}

class Mysql1 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String sql = "select * from ScoreInfo";

ResultSet rs = st.executeQuery(sql);

show.setText("");

show.append(

"序号学号姓名

学年学期语文英语

数学"

+ "\n");

while (rs.next()) {

show.append(rs.getInt(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getString(4) + " ");

show.append(rs.getInt(5) + " ");

show.append(rs.getInt(6) + " ");

show.append(rs.getInt(7) + " ");

show.append(rs.getInt(8) + "\n");

}

} catch (Exception ee) {

}

}

}

class Mysql2 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String ss = field1.getText().trim();

String sql = "select * from ScoreInfo where ID='" + ss + "'";

ResultSet rs = st.executeQuery(sql);

show.setText("");

show.append(

"序号学号姓名

学年学期语文英语

数学"

+ "\n");

while (rs.next()) {

show.append(rs.getInt(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getString(4) + " ");

show.append(rs.getInt(5) + " ");

show.append(rs.getInt(6) + " ");

show.append(rs.getInt(7) + " ");

show.append(rs.getInt(8) + "\n");

}

} catch (Exception ee) {

}

}

}

class Mysql3 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String ss = field2.getText().trim();

String sql = "select * from ScoreInfo where name='" + ss + "'";

ResultSet rs = st.executeQuery(sql);

show.setText("");

show.append(

"序号学号姓名

学年学期语文英语

数学"

+ "\n");

while (rs.next()) {

show.append(rs.getInt(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getString(4) + " ");

show.append(rs.getInt(5) + " ");

show.append(rs.getInt(6) + " ");

show.append(rs.getInt(7) + " ");

show.append(rs.getInt(8) + "\n");

}

} catch (Exception ee) {

}

}

}

class Mysql4 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String ss = field3.getText().trim();

String sql = "select * from ScoreInfo where class='" + ss + "'";

ResultSet rs = st.executeQuery(sql);

show.setText("");

show.append(

"序号学号姓名

学年学期语文英语

数学"

+ "\n");

while (rs.next()) {

show.append(rs.getInt(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getString(4) + " ");

show.append(rs.getInt(5) + " ");

show.append(rs.getInt(6) + " ");

show.append(rs.getInt(7) + " ");

show.append(rs.getInt(8) + "\n");

}

} catch (Exception ee) {

}

}

}

class Mysql5 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String ss = field3.getText().trim();

String sql = "select * from ScoreInfo where class='" + ss + "'";

ResultSet rs = st.executeQuery(sql);

show.setText("");

show.append(

"序号学号姓名

学年学期语文英语

数学"

+ "\n");

while (rs.next()) {

show.append(rs.getInt(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getString(4) + " ");

show.append(rs.getInt(5) + " ");

show.append(rs.getInt(6) + " ");

show.append(rs.getInt(7) + " ");

show.append(rs.getInt(8) + "\n");

}

} catch (Exception ee) {

}

}

}

class Mysql6 implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String sql = "";

String ss = comoBox.getSelectedItem().toString();

if (ss.equals("语文")) {

sql = "select ID,name,year,semester,Chinese from ScoreInfo ";

show.setText("");

show.append(

"序号学号姓名

学年学期语文"

+ "\n");

} else if (ss.equals("英语")) {

sql = "select ID,name,year,semester,English from ScoreInfo ";

show.setText("");

show.append(

"序号学号姓名

学年学期英语 "

+ "\n");

} else if (ss.equals("数学")) {

sql = "select ID,name,year,semester,Maths from ScoreInfo ";

show.setText("");

show.append(

"序号学号姓名

学年学期数学"

+ "\n");

}

ResultSet rs = st.executeQuery(sql);

int i = 0;

while (rs.next()) {

i++;

show.append("" + i + " " + rs.getString(1) + " ");

show.append(rs.getString(2) + " ");

show.append(rs.getString(3) + " ");

show.append(rs.getInt(4) + "\n");

}

} catch (Exception ee) {

}

}

}

}

Modify类:

package dazuoye;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Modify extends JFrame {

JTextField input1, input2, input3, input4, input5, input6,input7;

JLabel label1, label2, label3, label4, label5;

JButton button;

static Statement st;

static {

try {

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

Connection con = DriverManager.getConnection("jdbc:odbc:student");

st = con.createStatement();

} catch (Exception e) {

}

}

ResultSet rs;

public Modify() {

input1 = new JTextField(15);

input2 = new JTextField(15);

input3 = new JTextField(15);

input4 = new JTextField(15);

input5 = new JTextField(15);

input6 = new JTextField(15);

input7 = new JTextField(15);

JPanel panel = new JPanel();

panel.setLayout(new GridLayout(7, 3));

panel.add(new JLabel("学号"));

panel.add(input1);

panel.add(new JLabel("姓名"));

panel.add(input2);

panel.add(new JLabel("学年"));

panel.add(input3);

panel.add(new JLabel("学期"));

panel.add(input4);

panel.add(new JLabel("语文"));

panel.add(input5);

panel.add(new JLabel("英语"));

panel.add(input6);

panel.add(new JLabel("数学"));

panel.add(input7);

button = new JButton("修改");

button.addActionListener(new mysql());

Container container = getContentPane();

container.add(panel, BorderLayout.CENTER);

container.add(button, BorderLayout.SOUTH);

setTitle("修改数据窗口");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setSize(400, 300);

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width / 2;

int screenHeight = screenSize.height / 2;

int height = this.getHeight();

int width = this.getWidth();

setLocation(screenWidth - width / 2, screenHeight - height / 2);

setVisible(true);

}

class mysql implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {

String sno = input1.getText().trim();

String name = input2.getText().trim();

String year = input3.getText().trim();

String semester = input4.getText().trim();

String chinese = input5.getText().trim();

String english = input6.getText().trim();

String maths = input7.getText().trim();

if (sno.equals("") | name.equals("") | year.equals("") |

semester.equals("")| chinese.equals("")| english.equals("")| maths.equals("")) {

JOptionPane.showMessageDialog(Modify.this, "修改有错误!", "提示对话框", 1);

} else {

try {

String sql = "update ScoreInfo set name='" + name + "',year='" + year + "',semester='" + semester + "',Chinese=" + chinese

+ ",English="+ english+ ",Maths="+ maths+ " where ID='" + sno + "'";

st.executeUpdate(sql);

JOptionPane.showMessageDialog(Modify.this, "数据修改成功", "提示对话框", 1);

input1.setText("");

input2.setText("");

input3.setText("");

input4.setText("");

input5.setText("");

input6.setText("");

input7.setText("");

} catch (Exception ee) {

JOptionPane.showMessageDialog(Modify.this, "请确认需要修改的学号是否存在", "提示对话框", 1);

System.out.println(ee);

}

}

} catch (Exception eee) {

System.out.println(eee);

}

}

}

}

DELETE类:

package dazuoye;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Delete extends JFrame {

JButton search;

JTextField input;

JTextArea show;

Connection con;

Statement st;

public Delete() {

JPanel p = new JPanel();

search = new JButton("删除");

input = new JTextField(10);

show = new JTextArea(6, 43);

p.add(new JLabel("输入要删除的学号"));

p.add(input);

p.add(search);

setTitle("删除数据窗口");

search.addActionListener(new Mysql());

show.setEditable(false);

add(p, BorderLayout.NORTH);

add(show, BorderLayout.CENTER);

setSize(400, 150);

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width / 2;

int screenHeight = screenSize.height / 2;

int height = this.getHeight();

int width = this.getWidth();

setLocation(screenWidth - width / 2, screenHeight - height / 2);

setVisible(true);

validate();

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

}

});

}

class Mysql implements ActionListener {

public void actionPerformed(ActionEvent ee) {

try {

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

} catch (ClassNotFoundException eee) {

System.out.println("" + eee);

}

try {

String ss = input.getText().trim();

con = DriverManager.getConnection("jdbc:odbc:student");

st = con.createStatement();

String sql = "select * from ScoreInfo where ID='" + ss + "'";

show.setText(sql);

ResultSet rs = st.executeQuery(sql);

while (rs.next()) {

String sno = rs.getString("ID");

String name = rs.getString("name");

String year = rs.getString("year");

String semester = rs.getString("semester");

int chinese = rs.getInt("Chinese");

int english = rs.getInt("English");

int math = rs.getInt("Maths");

JAVA课程设计 时钟

辽宁工业大学 JA V A程序设计课程设计(论文)题目:时钟 院(系):软件学院 专业班级:软件技术班 学号: 学生姓名: 指导教师:丁宝柱 教师职称:助教 起止时间: 2009.12.1至2009.12.16

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1课程设计主要内容 (2) 2.2概要设计 (2) 2.2.1自定义类说明 (2) 2.3详细设计 (3) 2.4测试分析 (16) 2.4.1程序运行情况 (16) 2.4.2程序异常处理 (16) 第3章课程设计总结 (17) 参考资料18

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

Java课程设计题目2

面向对象课程设计题目 1、个人通信录管理信息系统的设计与实现 目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。 任务: 1)利用面向对象编程技术,完成个人信息的存储管理; 2)选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版); 3)要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出等。 2、个人电子相册的设计与实现 目的:掌握一种开发平台,编写出具有高交互性应用程序。 任务: 1)分析现有的电子相册的具体功能; 2)选择一种开发平台(JAVA或.NET)编写电子相册应用; 3)个人电子相册应该具备用户注册、照片浏览、创建影集、照片旋转、放大等各种基本功能。 3、音像租赁管理系统的开发与实现 目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,采用C/S架构完成一个简单的光盘租赁管理系统的开发。 任务: 1)音像租赁连锁店的基本业务需求,完成需求分析报告; 2)利用JAVA编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;

4、学生综合信息管理信息系统的设计与实现 目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务: 1)选择JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排 序)、查询与打印 3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。 5、家庭财务管理信息系统设计与开发 目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问、数理统计分析等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务: 1)选择者JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件能够对家庭的收入、支出进行分类统计,用户可以自定义收入、指出的类别,自定义分类查询和统计的条件。系统可以按照用户定义自动 生成统计报表(月报、季报、年报)。通过财务分析,对家庭收支提出 改进建议; 3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

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位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

Java课程设计万历

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: Java程序设计课程设计 学年学期: 2 014 —2 015 学年第 2 学期指导教师:刘伟 2 0 年月 课程设计成绩评定表

目录 1.课程设计目的................................................................................. .. (1) 2.需求分析................................................................................... (1) 3.总体设计................................................................................... (1) 4.详细设

计................................................................................... (1) 5.软件测试................................................................................... (10) 6.课程设计总结................................................................................... . (11)

一、课程设计目的 (1)熟练使用java语言编写程序,解决实际问题。 (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 本程序的要求为: 1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 三、总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。 四、详细设计 1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 2.输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import

java课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一个功能就运行试试,减少越来越难于调试的可能。也可自选。jsp或java完成都可。 1.文件复制 完成一个程序,这个程序可以将指定文件夹中的内容复制到另一个文件夹中去。 设计要求: 1)实现文件夹复制; 2)程序中需要考虑输入输出异常处理; 3)用户可以指定不同的参数:用-ext指定要复制的文件的扩展名,可以 同时指定多个扩展名;用-empty指定不复制空目录;用-zip表示进行压缩; 还可以增加其它选项 4)在dos控制台窗口环境下,通过命令行参数运行程序,如: 2.图片浏览器 类似于ACDSEE的图片浏览器 设计要求: 1)可以对图片进行不同的分类,并能够按分类显示 2)备份功能,用压缩实现用户选定文件的备份,用户指定文件的方式 要多样,如在分类上、在实际文件夹上。 3)幻灯功能,通过分类、实际文件夹等多种方式指定要幻灯浏览的图 片; 3.压缩文件浏览器 仿照Winrar浏览压缩文件。 设计要求: 1)能够以图形方式显示zip、tar、jar压缩文件中的内容

2)能解压用户选定的文件到选定的目录,注意winrar中指定解压整个 目录的方式 3)能够对压缩文件增加注释 4.文件加密工具 能够对文件、文件夹进行加密,可以由用户选择加密算法。 设计要求: 1)图形界面选定加密、解密的文件。 5.提醒簿(使用数据库) 仿照雪狐提醒簿。 设计要求: 1)由用户定义时间及提醒的内容; 2)定时时间到弹出窗口提醒或使用其它方式; 3)用户可以更改、删除提醒; 4)提醒的方式中包括使用邮件; 5)可以浏览提醒,已完成和未完成使用不同的图标; 6)用户可以注册、登录,登录的显示属于自己的提醒事项; 7)可以导出、导入提醒。 6.部门员工管理系统(使用数据库) 图形界面实现对部门、员工的管理。部门可以增、删、改,员工可以增、删、改及在不同的部门间调动。部门放JComboBox中,所属员工信息用多个JTextField 或JTable显示都可。要用菜单实现不同的功能。 7.备忘录(使用数据库) 设计要求: 1)系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按 月可以前后翻动; 2)单击选定的日期,系统界面的右侧显示相应的记事,可增、删、改; 3)每日的记事可有多条。 8.学生成绩管理系统(使用数据库) 功能要求: 2

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语言各部分内容的综合使用能力,逐步掌握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课程设计题目 设设HoMEWORK2012-02-2819:23 要求设明, 1.人一设~每设设设设一设目~如果列出多版本~只需要完成其中一版本两个个个即 可 2.由设委设设设设设各设设及其设目~下周以设子模式提交设目列表名设学档 3.每设必设完成相设的UML设;至少需要包括用例设、设设、设序设或者设作设,~UML 设可有Visio或者Rose或者StarUML或其他设似的工具完成 4.第六周设始机抽设设大家演示设述从随 设目列表如下, 1.打字游设(JavaGUI本地版/JSP版本/Javascript) 2.设文件设行明文加密(JavaGUI本地版) 3.在设设店设设站网(WEB版本) 4.5子棋游设(设版网/WEB版) 5.俄设斯方设(设版网/WEB版) 6.音设播放器(JavaGUI本地版) 7.设子相册(JavaGUI本地版) 8.多人聊天室((JavaGUI本地版/WEB版)9.模设考设系设(WEB版) 10.克游设扑(JavaGUI本地版/WEB版) 设设设明, 1.打字游设(JavaGUI本地版/JSP版本/Javascript)

设设背设设和打字速度, 可根据一片文章自设设入设设 整设设下落或者淡入淡出个 同设多设设出设个 设设入设设的设设分析设设功能 设分 2.设文件设行明文加密(JavaGUI本地版) DEC加解密,需要密设~可以解密 3.在设设店设设站网(WEB版本) 设设目的目的是设设一设合站~设设《在设设店》的基本功能~如管理设设~上设个网网 售网设设等功能。要求站能设布到Internet上。设站采用网 Jsp+JavaBean+JDBC+MySql|SQLServer等技设架~服设器端采用框Tomcat服设器。 4.5子棋游设(设版网/WEB版) 设设程序~完成下述功能,在大于9设的方形格棋设上~放置黑白色棋子条网两~两网弈两条人各设一色~通设设设~可以在任何设的交点上放置棋子~同色棋子~先同行、同列或者同设角设上5设设成一设者设设。条 5.俄设斯方设(设版网/WEB版) 设设程序~完成下述功能, 完成一可以人通设设设设的俄设斯方设游设~每一方都可以在自己的幕个两个网屏 上看到设方的前游设~游设先设束的一方设失设者当状况 6.音设播放器(JavaGUI本地版)

Java课程设计电子版

2016届课程设计 《Java程序设计》 课程设计说明书 学生姓 学号 所属学院信息工程学院 专业计算机科学与技术 班级 指导教师 教师职称 塔里木大学教务处制

塔里木大学课程设计任务书课程名称: Java程序设计 课程所属教研室:计算机系指导教师: 学号学生姓名(专业)班级设计题目软件代码开发技术 实习技术内容(1)安装Java环境及环境变量配置。 (2)熟练掌握Java类、对象的概念。 (3)熟练掌握Java封装、继承和多态的概念。 (4)熟练掌握Java重写和重载的概念,并实现重写和重载。(5)熟练掌握Java程序的编写方法和思路。 (6)完成课设论文。 实习要求(1)通过课设加深对Java技术的学习与掌握。 (2)训练运用Java技术完成简单程序的开发和设计。(3)训练运用Java技术完成对数据库的连接与访问。(4)掌握课设论文的撰写要求与技巧。 参考资料JAVA程序设计基础教程人民邮电大学出版社。上网(internet)查资料,查程序,模仿程序。 从零到学java程序设计北京大学出版社。 周次第一周第二周 应完成内容根据所选择题目,查阅资料配置 java开发环境及tomcat web 服务 器。完成对Java程序的设计、修改 及调试。 运用Java技术完成对数据库的连接与 访问,同时按要求完成课设论文。 指导教师签字 教研室主任签字

目录 1.输出如下图形: (4) 2.打印下面图形 (5) 3.打印下面图形 (6) 4.编程计算1+2+3+......+100的和: (8) 5. 编程计算2+4+6+......+100的和:. (9) 6. 编程计算1+3+5+......+99的和:. (10) 7. 编程计算1!+2!+3!+4!+5!的和: (11) 8. 编程计算1!+2!+3!+4!+5! +6!+7!+8!+9!+10!的和: (12) 9.实现打印100—1000之内的水仙花数(所谓水仙花数是一个三位整数,它的各个数位的立方和等于这个数本身)。 (13) 10.编程输出1-100中的所有素数的程序: (14) 11.假设有一个父类Person,其子类是Student,请你设计父类的属性和方法,然后再设计子类的属性和方法,要求子类重写父类的部分方法,然后实现多态: (15) 12.一个动物类包括猫和狗,但是它们有不同的叫声,请你利用java多态性机制设计出合理的解决方案。 (16) 13.编程打印九九乘法表 (17) 14.将123反序输出321: (18) 15.编写实现a,b两个数交换的程序: (19) 16. 编写实现a,b,c三个数从小到大排序的程序 (20) 17.什么是继承?继承机制为面向对象程序设计带来哪些好处? (22) 18.什么是类?什么是对象?它们之间的关系是怎样的? (22) 19.试写出一个语句创建一个名为myPackage的包,这个语句应该放在程序的什么位置? 22 20.根据你的理解,请说明java中重载与重写的异同。 (22)

java课程设计要求与题目

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

2048小游戏java课程设计报告书

《JA V A语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟指导教师姓名:宋强

目录 1.前言 (1) 2.游戏需求分析 (1) 需求分析 (1) 可行性分析 (2) 3.概要设计 (3) 4.详细设计 (4) 流程图 (4) 界面的整体布局 (4) 方法模块分析 (5) 5.测试 (8) 6.总结 (10) 6.参考文献 (10) 7.部分源代码: (10)

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappy bird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

java课程设计

面向对象程序设计课程设计报告 专业计算机科学与技术姓名吐尔巴依班级软件2班学号12001216 题目理财助手日期2014-12-6 功 能 描述 这个设计是一款具有简单的理财功能的小设计,可以选择开销的类型进行输入,当你每月的消费输入完成之后,最后统计完成之后输出你这个月的消费去向。 开销 房屋 贷款 汽车 贷款 汽油 费用 请客 开销 购物 花销 贷 款 还 款 年 限 利 率 贷 款 年 限 利 率 汽 油 类 型 费 用 日 期 费 用 支 出 目 的 支 出 目 的 费 用

设计思路 1.建立一个抽象类loan和一个贷款接口, 2.在建立一个FD类(房屋贷款类)继承Daikuan接口, 3.carloan(汽车费用)继承loan类并且用daikuan这个接口实现, 4.建立一个请客吃饭类Eatloan来继承loan类,在建立shopping类继承Eatloan 5 switch语句进行输入,跳转到以上类。 运行结果 选择界面 房屋贷款类, 汽车贷款: 汽油费用 请客开销:

购物开销: 查看这个月的消费: 源文件:import java.io.*; //总的花销的抽象类 abstract class Loan { String type;//类型 float price;//花费 abstract String getType(); abstract float getPrice(); } //贷款借口 interface Sf { float getMoney(int years,float i); } //房屋贷款类

class Fd implements Sf { float fwz;//房屋总贷款 public float getMoney(int years,float i)//计算每月还贷{ return fwz*(1+i/100)/(years*12); } } //汽车贷款、汽油费用 class CarLoan extends Loan implements Sf { float qch; CarLoan() { System.out.println("汽车贷款。"); } CarLoan(String s,float p) { super.type=s; super.price=p; } public float getMoney(int year,float i) { return qch*(1+i/100)/(year*12); } String getType() { return super.type; } float getPrice() { return super.price; } } //请客吃饭类 class EatLoan extends Loan {

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课程设计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课程设计》 课 程 设 计 报 告 题目:简易媒体播放器 班级:0633081 姓名:063308123郭伟 063308164张志朋 063308125靳浩兵063308168周小晨指导教师:陈红军、赵军民 设计日期:2010.01.11-15 专业:计算机网络技术

目录 1 、引言................................ 错误!未定义书签。 2 、设计依据 ........................... 3错误!未定义书签。 2.1设计平台 ..............................................................错误!未定义书签。 2.2设计思想 ..............................................................错误!未定义书签。 3、主要框架图、......................... 错误!未定义书签。 4、详细设计 (4) 5 、软件调试分析......................... 错误!未定义书签。 6 、源程序代码.......................... 6错误!未定义书签。 7、执行结果 (15) 8、学习心得 ........................... 15错误!未定义书签。 9、参考文献 ........................... 16错误!未定义书签。

1、引言: 旨在考察在经过一个学期的学习,对JA V A知识的理解与应用。同时把所学的理论知识用于实战编程,进而培养同学们的动手能力和团结协作的团队意识。综合应用java语言的相关知识,独立设计中型的Java应用程序。通过本课程设计,使学生巩固《JA V A课程设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。 2、设计依据: 1、设计平台 Eclipse是开发源码项目,由于其开放源码,任何人都可以免费使用,并可以在此基础上开发各自的插件,eclipse不只作为一个JA V A IDE的开发平台,而且是作为一个平台框架,各种各样的插件都可以安装在它上面,从而形成各种各样的工具,它有开源软件,使用插件功能,可以完成比较复杂的开发等优点。此Java程序设计就是在Eclipse环境平台下开发的。 Java API文档: Java API文档包含了Java的大部分类,方面查询不熟悉的类,所以它是一款不错的帮助文档! 2、设计思想 根据一学期对JA V A知识的学习,在Eclipse平台下,导入JMF包通过不断查询API 文档,编写媒体播放器在现有类的基础上组织一个新类。有时,我们也将组织称作“包含”关系。播放器主要针对面向对象,并且实现序列化接口,多线程等知识。 对象的组织具有极大的灵活性。新类的“成员对象”通常设为“私有”(Private),使用这个类的客户程序员不能访问它们。这样一来,我们可在不干扰客户代码的前提下,从容地修改那些成员。也可以在“运行期”更改成员,这进一步增大了灵活性。后面要讲到的“继承”并不具备这种灵活性,因为编译器必须对通过继承创建的类加以限制。 由于继承的重要性,所以在面向对象的程序设计中,它经常被重点强调。作为新加入这一领域的程序员,或许早已先入为主地认为“继承应当随处可见”。沿这种思路产生的设计将是非常笨拙的,会大大增加程序的复杂程度。相反,新建类的时候,首先应考虑“组织”对象;这样做显得更加简单和灵活。利用对象的组织,我们的设计可保持清爽。一旦需要用到继承,就会明显意识到这一点。 3、程序主要框架图

JAVA课程设计(计算机)

武汉理工大学华夏学院课程设计报告书 课程名称:JAVA课程设计 题目:简单投票管理系统 系名:信息工程系 专业班级:计算机 1 1 2 1 姓名:商德楼 学号:10210412108 指导教师:刘春燕 2014年9 月5日

课程设计任务书 学生姓名:商德楼专业班级:计算机1121 指导教师:刘春燕工作单位:信息工程系 设计题目:简单投票管理系统的设计与实现 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个投票管理系统界面,完成以下简单的功能 (1)设计一个文本框,输入候选人的姓名; (2)点击确定后候选人姓名进入复选框; (3)选中候选人的选择框,表示给该候选人投一票; (4)点击确定按钮产生一张选票。 设计报告撰写格式要求: 1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。 2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录) 时间安排: 消化资料、系统调查 1天 项目原型开发1天 系统功能实现 1天 系统验收 1天 指导教师签字:2014年9 月 5 日 系主任签字:2014 年9 月 5 日

目录 1 目标 (4) 2 软件开发环境与技术简介 (4) 2.1 开发工具介绍 (4) 2.2 硬件环境 (4) 2.3 软件环境 (5) 3 系统需求分析 (5) 4 系统总体设计 (5) 4.1 系统功能简介 (5) 4.2 系统功能模块规划 (6) 5 系统详细设计 (6) 5.1界面设计时 (6) 5.2功能实现 (7) 6 系统测试与运行 (9) 7 总结 (12) 参考文献 (12) 附录:系统核心代码 (13)

相关文档
最新文档