文档库 最新最全的文档下载
当前位置:文档库 › java课程设计

java课程设计

java课程设计
java课程设计

课程设计报告( 2016—2017学年第2学期)

课程名称Java课程设计报告学生姓名张晓甜

班级2015240701

学号201524070134

指导教师康军

完成日期2017.6.23

目录

一、设计目的及要求 (1)

1.1课程设计目的 (1)

1.2课程设计内容和要求 (1)

二、系统需求分析 (2)

2.1 系统目标 (2)

2.2游戏需求 (2)

2.3 开发环境 (2)

三、系统总体设计 (3)

3.1系统的功能模块划分 (3)

3.2系统流程图 (4)

四、系统详细设计 (5)

4.1具体的设计步骤如下: (5)

4.2界面设计 (5)

4.3关键功能的实现 (6)

五、代码调试 (12)

六、小结 (15)

参考文献 (16)

七、附录 (17)

一、设计目的及要求

1.1课程设计目的

通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发24点游戏,使自己熟悉应用系统的开发过程,进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力,培养自主思考能力,检验学习效果和动手能力,初步掌握基础编程知识,并锻炼发现问题、分析问题和解决问题的能力。从而达到理论与实践相结合的目的。

加深对《Java语言与面向对象技术》课程基础知识的理解,掌握Java语言面向对象程序设计的开发方法和步骤。

1.2课程设计内容和要求

24点游戏是一种使用扑克牌来进行的益智的游戏,游戏内容为:从一副扑克牌四个花色的1到K等52张牌中,任意抽取4张牌,运用加、减、乘、除和括号等运算符把牌面上的数进行运算得到24。游戏有不同的版本,其实是对J、Q、和K的处理有所不同。有的版本版本是把J、Q、和K去除,只用1到10来进行游戏;有的版本是把J、Q、和K当成10;还有的版本是用J表示11,Q表示12,K表示13。此次课程设计采用的是把J表示11,Q表示12,K表示13,使游戏的四张牌在1~K这13张牌中随机取牌。具体功能如下:

⑴对游戏设计三个难易级别,分别为初级、中级和高级。每次开始游戏前可以根据玩家的需要进行难度设置,如若不设置,系统默认难度级别为初级,设置完难度级别之后就可以开始游戏了,单击“发牌”按钮,桌面上出现四张翻开的扑克牌,与此同时,游戏开始计时,时间条开始前进。

⑵在规定的时间内,玩家可以在“输入结果”的编辑框中输入自己想好的算式,然后点击“验算”按钮:如果输入的算式经运算后所的答案正确,则会弹出“恭喜,你成功答对了一题”的窗口;如果输入的数字与给出的牌的数字不符或者符号不合法,则会弹出“抱歉,你答错了”的窗口;如果未输入任何的数字和算符,则会弹出“输入不能为空!”的窗口。

⑶程序中可以记录游戏的历史记录。

⑷如果在规定的时间内,玩家没有点击验算按钮,则会弹出“对不起,你失败了”的窗口。

⑸在结束本轮游戏后,如果玩家想继续游戏,则可点击“发牌”按钮即可重新发牌,开始下一轮的游戏;如果玩家想结束游戏,则可点击“结束”按钮即可结束游戏

二、系统需求分析

2.1 系统目标

使用所学知识制作一个基于java的24点游戏。

2.2游戏需求

游戏界面需求:设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,游戏的背景色是绿色,尽量降低玩家游戏时的用眼疲劳,最大化的为玩家带来舒适的娱乐环境。

游戏形状需求:根据数字颜色的不同,显示不同的纸牌。

鼠标处理事件需求:通过点击菜单栏中对应的菜单项,可以实现游戏开始、结束、数字的验算及其他游戏选择等功能。

2.3 开发环境

MyEclipse,windowbuilder

4 2

Java程序设计课程设计

三、系统总体设计

3.1系统的功能模块划分

图一系统功能图

3 3

3.2系统流程图

图二系统流程图

4

Java程序设计课程设计

四、系统详细设计

4.1具体的设计步骤如下:

1)在对话框中添加4个图像(分别用于四张扑克牌),3个按钮(分别是发牌、运算、结束),1个编辑框,一个进度条和一个下拉框(用于选择难度级别)接着根据属性对以上所添加的控件进行属性修改,主要进行重命名,以便编辑源代码的时候区分,另外对图像的处理除了对其进行重命名外还要对其添加位图。之后通过打开图片,并对其进行重命名。

2)根据流程图在类的原文件中逐一添加实现各个模块其功能所需要的各种函数,并添加相应的源代码,同时在头文件中添加对各种函数及变量的声明。

3)对编译好的程序进行保存,开始进行调试,边调试边根据报错对原程序进行修改,直到程序不在报错为止。

4.2界面设计

表1 控件类型、ID及相关说明

3 5

4.3关键功能的实现

(1)发牌功能的实现

首先,通过Number[i]=rand()%13。来产生0-9的随机数,利用该函数加载了标号1~10的10张纸牌和一张背景纸牌。然后运行中的以下一段代码,即可在图像框中得到四张铺开的纸牌。代码如下:

Random random=new Random();

r1=random.nextInt(10)+1;

(2)计时功能的实现

首先,定义线程类,通过每隔不同的时间来发送信息来控制三个级别的时间不同。设置了时间限制,如果时间超过代表游戏结束,用户没有时间进行思考了,本轮游戏结束。源代码如下:

class MyThread extends Thread {

boolean lock=true;

JProgressBar progressBar;

JLabel label_1;

JLabel label_2;

JLabel label_3;

JLabel label_4;

JTextField textField;

JButton button;

int difficulty=0;

MyThread(JProgressBar progressBar,JLabel label_1,JLabel label_2,JLabel label_3 ,JLabel label_4,JTextField textField,int difficulty,JButton button){

this.progressBar=progressBar;

https://www.wendangku.net/doc/9c12622229.html,bel_1=label_1;

https://www.wendangku.net/doc/9c12622229.html,bel_2=label_2;

https://www.wendangku.net/doc/9c12622229.html,bel_3=label_3;

https://www.wendangku.net/doc/9c12622229.html,bel_4=label_4;

this.textField=textField;

this.difficulty=difficulty;

this.button=button;

}

public void run() {

// TODO Auto-generated method stub

for(int i=0;i<=60-20*difficulty;i++){

try {

if(lock==true){

this.sleep(1000);

progressBar.setValue(i*(difficulty+1));

}

} catch (InterruptedException e) {

4 6

Java程序设计课程设计

// TODO Auto-generated catch block

lock=false;

}

}

if(lock==true){

JOptionPane.showMessageDialog(null, "对不起,没有时间了

", "Message",JOptionPane.WARNING_MESSAGE);

label_1.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

label_2.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg"));

label_3.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

label_4.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg")); progressBar.setValue(0);

textField.setText("");

textField.setEnabled(false);

button.setEnabled(false);

textField.setText(null);

}

}

}

(3)验算功能的实现

只简单介绍弹出框的实现的功能完成。在规定的时间内玩家输入算式进行验算,根据不同的情况会弹出不同的对话框。有以下两种情况:如果玩家输入的数字与扑克牌给出的数字不符合,则会弹出“抱歉,你答错了”的提示对话框。如果玩家输入算式经运算后所得答案正确,则会弹出“恭喜,你成功答对了一题”的提示对话框。具体代码如下:

button.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

String s= textField.getText().toString();

if(cacComplex(s)==24&&kuohao(s)==1&&shuzi(s)==1){

JOptionPane.showMessageDialog(null, "恭喜,你成功答对了一题

", "Message",JOptionPane.PLAIN_MESSAGE);

currenttime=System.currentTimeMillis();

if(time>currenttime-firsttime||time==0){

time=(int) (currenttime-firsttime);

}

correct++;

textField.setText("");

label_1.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

3 7

label_2.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg"));

label_3.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

label_4.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg"));

thread.interrupt();

progressBar.setValue(0);

textField.setEnabled(false);

button.setEnabled(false);

}else{

JOptionPane.showMessageDialog(null, "抱歉,你答错了

", "Message",JOptionPane.PLAIN_MESSAGE);

textField.setText("");

label_1.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

label_2.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg"));

label_3.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\1.jpg"));

label_4.setIcon(new ImageIcon("C:

\\Users\\zcs\\Workspaces\\MyEclipse 2016 CI\\pukeImage\\2.jpg"));

thread.interrupt();

progressBar.setValue(0);

textField.setEnabled(false);

button.setEnabled(false);

}

}

});

⑷计算功能的实现

对于输入结果的计算,主要是通过int LastPos(CString Str),int FirstPos(CString Str),char FirstF(CString Str),int SubCompute(CString Str),int TotalCompute(CString Str)等函数来来确定输入的算式的优先级别并且计算出输入算式的最终结果。现摘两段代码进行详细说明

private static double cacComplex(String str) {

if (str.equals(""))

return 0;

//System.out.println("CAC:" + str);

str = str.replaceAll("[\\(]", "(").replaceAll("[\\)]", ")");

int cl = https://www.wendangku.net/doc/9c12622229.html,stIndexOf('(');

if (cl == -1)

4 8

Java程序设计课程设计

return cac(str);

int cr = str.indexOf(')', cl);

String left = str.substring(0, cl);

String right = str.substring(cr + 1);

String middle = str.substring(cl + 1, cr);

return cacComplex(left + cac(middle) + right);

}

public static double cac(String str) {

if (str.equals(""))

return 0;

int ml = str.indexOf('*');

int dl = str.indexOf('/');

if (ml == -1 && dl == -1) {

return cacNoMD(str);

}

int index = ml == -1 ? dl : ml;

// 4+5*6*7+8

String left = str.substring(0, index);// 4+5

String m1 = lastNumber(left);

left = left.substring(0, left.length() - m1.length()); String right = str.substring(index + 1);// 6*7+8 String m2 = firstNumber(right);// m2:6

right = right.substring(m2.length());// *7+8

double d1 = Double.parseDouble(m1);

double d2 = Double.parseDouble(m2);

double tmp = 0;

if (index == ml) {

tmp = d1 * d2;

} else if (index == dl) {

tmp = d1 / d2;

}

return cac(left + tmp + right);

}

private static String lastNumber(String str) { StringBuilder sb = new StringBuilder();

for (int i = str.length() - 1; i >= 0; i--) { char c = str.charAt(i);

3 9

if (!Character.isDigit(c) && c != '.')

break;

sb.append(c);

}

return sb.reverse().toString();

}

private static String firstNumber(String str) { StringBuilder sb = new StringBuilder();

for (char c : str.toCharArray()) {

if (!Character.isDigit(c) && c != '.')

break;

sb.append(c);

}

return sb.toString();

}

private static double cacNoMD(String str) { double ret = 0;

StringBuilder sb = new StringBuilder();

char sign = '+';

for (char c : (str + "+").toCharArray()) {

if (!Character.isDigit(c) && c != '.') {

if (sb.length() == 0)

continue;

double tmp = Double.parseDouble(sb.toString());

if (sign == '+') {

ret += tmp;

} else {

ret -= tmp;

}

sb = new StringBuilder();

sign = c;

} else {

sb.append(c);

}

}

return ret;

}

⑸括号匹配功能的实现

进行括号配对并优先进行括号内运算:

private static double kuohao(String str){

Stack stack =new Stack();

4 10

Java程序设计课程设计

for(int i=0;i

if(str.charAt(i)=='('||str.charAt(i)==')'){

if(stack.isEmpty()){

stack.push(str.charAt(i));

}else if(stack.peek()=='('&&str.charAt(i)==')'){

stack.pop();

}else{

stack.push(str.charAt(i));

}

}

}

if(stack.isEmpty()){

return 1;

}else{

return 0;

}

}

我负责的是验算功能的实现,1. 括号匹配:建立一个栈stock,自右向左遍历字符串,当匹配到“(”,将“(”放入栈中,继续遍历。当匹配到“)”,如果栈顶为“(”,就执行stock.pop(),取出栈顶,否则就将字符放入栈中。直到遍历完字符串。如果栈空则匹配成功,否则就算匹配失败。

2. 检验次数:利用Pattern类,Matcher类,遍历字符串并检测其中中出现4个随机数的次数,超过1次表明错误。

3. 检验运算式:引入javascript中eval函数,检验表达式,如果错误,返回null。

3 11

五、代码调试

(1)进入游戏界面

说明:本界面为游戏初始界面,默认难度级别为初级。(2)发牌

说明:点击“发牌”按钮,自动发牌,计时进度条开始滚动。

4 12

Java 程序设计课程设计

3 13

(3)输入验算公式界面

说明:验算正确

说明:验算错误

(4)没有来的及输入表达式,超过限制时间,页面显示为

说明:.如果在规定的时间内,玩家没有点击验算按钮,则会弹出“内部错误”的窗口。(5)历史记录

说明:每结束一次游戏会将历史记录在数据库中。

4 14

Java程序设计课程设计

六、小结

心得与体会

开始了为期两周的紧张的java课程设计,这已经是大学时代的第四次课程设计了,较之之前的三次,感觉这次的与以往大大不同,是利用自己的知识开发一个小游戏,心里着实兴奋了一把,但是这个设计用的是大二下学期学的java的知识,不是很理解或是熟练运用,所以刚刚开始的时候,毫无头绪,感觉好难真的好难,难于上青天。心里障碍阻当着我让我不敢向前迈步。我很怕自己做不好,怕自己不能按时完成,很怕自己不如其他同学。内心满是恐惧,被恐惧占具的心灵又怎么能出色的完成课程设计呢?

最初进行设计的时候,没有一点头绪,后来上网查阅,将计算器和菜单栏制作这两个范例看了几遍。感觉很有收获,但是对于进程条的设置还是不清楚,又翻出课件来看重新学习,经与同学讨论,终于弄清了进程条的设置。而对于编程,是最庞大又棘手的一块,那是忘得更多了,于是把课本和图书馆借来的参考书重新针对性的学了一次,遇到难处先是仔细的思考然后在向同学请教。可以说开始的那么几天都是在查找资料,翻阅相关的书籍。在最后添加代码的时候还有一些程序不知道怎么写。于是,于是又利用了网络资源,收集里了一些,经分析、查询资料仍有一些地方看不懂。就请教同学,尝试往对话框中添加相应代码的方法。根据一大段的分析,感觉程序执行某个功能,将这段代码添加到对应位置。所有的代码添加完后,运行、调试,开始会出现了很多很多的错误。逐条进行修改,再进行运行和调试,有时候错误看不懂,就找同学商量。也不知道错了多少次,改了多少次,终于最后做出了完美的游戏界面。终于完成了设计。

但是本次课程设计是自己第一次开发小游戏,心理很甜。通过此次课程设计,收获颇多,最主要的是对java知识重新学习了一遍,感受到了它的博大精深.

首先,编程有了很大的提高,虽然有时候自己没有思路,但是可以借鉴别人的代码,看别人设计的思路,理解的同时自己小试一下也可以编出来,所以凡事不能被困难吓倒,只要有开始,去尝试。就会有意想不到的收获。

再次,在运行、调试过程中也学到了很多,以前编程最怕的就是报错,尤其是错误多了的时候,感觉毫无头绪直接头大,但是编程不可能不出错,报错,只要逐一对付,然后细心研究改正,终究一切问题都会迎刃而解的,所以遇到问题,不能急,要心平气和的去应对,才能把所学的只是真正用于实际,这不得不说正是我们当代大学生所严重缺乏的,以后的学习中更应注意。

通过这次课程设计,加强了我动手、思考和解决问题的能力。比如细心还有耐心还有对自己有一定的自信等等。而且课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时只有课间的学习是远远不够的,所以以后要多花时间温故知新。两个星期的课程设计,

3 15

过程曲折可谓一语难尽。在此期间我也从毫无头绪到一度热情高涨。到从开始时满富盛激情到调不出结果的焦头烂额,到最后慧心的笑,点点滴滴无不令我回味无长。总之对我而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次课设必是我人生旅途上一个非常美好的回忆!

参考文献

[1]耿祥义,张跃平.Java面向对象程序设计 [M].北京:清华大学出版社,2009.11.

4 16

Java程序设计课程设计七、附录

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import java.awt.Color;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JProgressBar;

import javax.swing.JScrollPane;

import javax.swing.SwingWorker;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.util.List;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.TimeUnit;

import java.util.concurrent.TimeoutException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import java.awt.Rectangle;

import https://www.wendangku.net/doc/9c12622229.html,poundBorder;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.Font;

import javax.swing.ImageIcon;

import java.util.Random;

import java.util.Stack;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

import javax.swing.JList;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;

import javax.swing.DefaultComboBoxModel;

import java.awt.event.ItemListener;

import java.awt.event.ItemEvent;

import java.sql.*;

public class MyFrame extends JFrame {

private JPanel contentPane;

private JProgressBar progressBar;

private JLabel label_1;

private JLabel label_2;

private JLabel label_3;

private JLabel label_4;

3 17

MyThread thread;

private JTextField textField;

private JScrollPane scrollPane;

private JTable table;

JComboBox comboBox;

JButton button;

int difficulty=0;

int total=0;

int correct=0;

int time=0;

long firsttime;

long currenttime;

int r1,r2,r3,r4;

/**

* Launch the application.

*/

public static void main(String[] args) throws Exception{ EventQueue.invokeLater(new Runnable() {

public void run() {

try {

MyFrame frame = new MyFrame();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

private static double cacComplex(String str) {

if (str.equals(""))

return 0;

//System.out.println("CAC:" + str);

str = str.replaceAll("[\\(]", "(").replaceAll("[\\)]", ")");

int cl = https://www.wendangku.net/doc/9c12622229.html,stIndexOf('(');

if (cl == -1)

return cac(str);

int cr = str.indexOf(')', cl);

String left = str.substring(0, cl);

String right = str.substring(cr + 1);

String middle = str.substring(cl + 1, cr);

return cacComplex(left + cac(middle) + right);

}

public static double cac(String str) {

if (str.equals(""))

4 18

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课程设计简单实现

目录 一、绪论 (1) 1.1关键技术介绍 (1) 1.1.1JAVA技术 (1) 1.1.2SQL数据库 (1) 二、需求分析 (2) 三、系统概要设计: (3) 3.1问题描述 (3) 3.2要求 (3) 3.3数据库设计 (3) 四、系统详细设计 (5) 4.1新员工信息录入 (5) 4.2显示员工信息 (7) 4.3修改员工信息 (8) 4.4查询员工信息 (10) 4.5删除员工信息 (13) 4.6员工信息排序 (15) 4.7员工信息统计 (16) 4.8注销 (17) 五、系统测试 (18) 5.1系统登录 (18) 5.2系统主界面.................................. 错误!未定义书签。 5.3新员工信息录入.............................. 错误!未定义书签。 5.4显示员工信息................................ 错误!未定义书签。 5.5修改员工信息................................ 错误!未定义书签。 5.6查询员工信息................................ 错误!未定义书签。 5.7删除员工信息................................ 错误!未定义书签。 5.8排列系统.................................... 错误!未定义书签。 5.9统计界面.................................... 错误!未定义书签。

5.10注销....................................... 错误!未定义书签。 六、总结 (19) 八、附录.......................................... 错误!未定义书签。

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

2013级JAVA课程设计题目

Java课程设计题目 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。 重要说明日程说明: 1、4月21日前分组选题,查询资料,21-27日程序设计以及上机调试。最多2人一组。 2、设计报告打印一份,并将电子版以”13信算xx班第XX组报告.rar”的压缩包发到邮 箱:325822013@https://www.wendangku.net/doc/9c12622229.html,邮箱。 3、压缩包里包含:设计报告的word版,word名称参考说明2,程序源代码文件。 注意:4月27日23点59分之后不再接收电子以及纸质稿,逾期成绩一律按不及格计算,联系方式qq:325822013,TEL:670705。 机房开放安排说明: 1.机房地点:求中502、503 2.时间安排共开放2.5天: 21日(周一):1-2节信算1、2班/ 3-4节数学1、2班/ 5-6节信算3班 23日(周三)全天,25日(周五)上午自由开放 二、参考题目及要求: 1、编写一个记事本程序(2人) 要求:用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2、ATM柜员机模拟程序(3人) 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、查询余额:初始余额为10000元 2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 3、A TM存款:不能出现负存款。 4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 3、超市收银系统(3人) 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日 课程设计报告单

综合评定: (优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日

目录 题目:.................................................... 错误!未定义书签。 1.需求分析............................................ 错误!未定义书签。 2.概要设计............................................ 错误!未定义书签。 3.详细设计............................................ 错误!未定义书签。 4.编码................................................ 错误!未定义书签。 5.调试分析............................................ 错误!未定义书签。 6.测试结果及运行效果.................................. 错误!未定义书签。 7.系统开发所用到的技术................................ 错误!未定义书签。 8.课程设计总结........................................ 错误!未定义书签。参考文献................................................. 错误!未定义书签。5 附录全部代码............................................. 错误!未定义书签。

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课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做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课程设计方案 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)

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万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

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程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩: 指

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

JAVA课程设计题信息B131112目及要求

Java课程设计题目及要求 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,学生确定设计题目后,要明确本次课程设计所要用到的技术点,回顾之前学习的这些知识点,或者到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。 二、参考题目及要求:(从中选择一个题目) 1.编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2.编写一个计算器程序 要求: 界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、指数运算。 实现要点:添加相关组件并进行按钮事件处理和键盘事件处理。 3.学生信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个学生信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 4、图书信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个图书信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 5.ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元 (2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款:不能出现负存款。

(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 6.超市收银系统 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。 7.对对碰游戏 功能要求:该程序显示GUI用户界面,界面中随机安排10对图片,背面向上,当翻开的2张图片相同时就消失,不相同时重新翻回背面,最终显示用时和分数(=400-翻的次数)。 界面要示:图形界面实现。 8.绘图板 功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小也可在界面中设定)。

Java课程设计学生信息管理系统

《面向对象程序设计》课程设计报告题目:《**********》课程设计 学院:信息工程学院 姓名: *** **** ****** 学号: ** ** ** 专业:计算科学与技术 班级: ***** 指导教师: ***** 2015 年 12月

目录 目录 ................................................................... 摘要 ................................................................... 1.引言 ................................................................. 2.设计目的与任务 ........................................................ 3. 设计方案 ............................................................. 3.1总体设计...................................................... 3.2开发环境...................................................... 3.3层次图........................................................ 3.4界面预览...................................................... 3.4.1登录界面 .................................................. 3.4.2该管理员不存在( 用户名:name 用户密码:psw ) ............. 3.4.3学生信息管理界面 .......................................... 3.4.4填写学生信息 .............................................. 3.4.5录入学生信息 .............................................. 3.4.6查询学生信息 ..............................................

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程序设计课程设计 题目标准化考试系统 计算机科学学院计算科学与技术专业11级专升本班 学号:201181210115 姓名:刘昆明 指导教师:李瑞生 成绩:____________ 完成时间:2011年 11月

目录 1.设计内容及要求 (1) 1.1 标准化考试系统的基本要求 (1) 1.2 需实现的主要功能 (1) 2.需求分析 (2) 2.1数据库设计 (2) 2.2服务器端和客户端的数据传输方式 (2) 2.3 服务器端功能设计 (2) 2.4客户端功能设计 (3) 3.总体设计 (4) 3.1 总体功能图 (4) 3.2 总体流程图 (6) 4.数据库设计 (7) 4.1 数据库及表结构的建立 (7) 4.2 JAVA 数据库的连接 (8) 5. 主要功能设计流程 (8) 5.1服务器端设计流程图 (8) 5.2客户端设计流程图 (9) 6.代码实现 (10) 6.1类之间关系图 (10) 6.2 运行效果图 (11) 6.3 程序打包发布过程 (17) 7. 总结与说明 (18) 8. 参考文献 (18)

标准化考试系统设计与实现 【摘要】:在现今知识爆炸的年代里,教学的质量和怎样提高教师的工作效率成了各大院校的首要任务。找题、选题和出卷就成为一项非常重要的工作。每学期教师都要为各类考试付出大量的精力和工作,尤其是一位教师教授多门学科的时候,工作量将成倍增加。因此开发此考试系统,对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。 因此,使用现在的新技术,开发出适应新的需求的新系统刻不容缓。 四年的大学生活转瞬既逝,在这四年中,我系统的学习了计算机科学与技术专业的所有课程。深入的学习了各个科目的理论知识,对专业知识有了整体的掌握。在即将毕业之际,为了理论联系实际,检验自己的学习成果,我选择了这个题目作为课程设计。在此毕业设计的完成过程中,我严格遵循软件开发的过程,将理论知识与具体问题相结合。在应用程序开发中我一方面学习了软件编程思想,另一方面具体的运用了JAVA语言。体会了他的诸多功能和特色。熟悉了数据库应用程序的开发原理。确实达到了学校和辅导教师对我们应届毕业生的各种要求。 【关键词】:J2ME;标准化考试;设计与实现 1

相关文档