java实验报告_计算器_记事本_井字游戏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

实验内容:综合课程设计

相关课程: Java程序设计

学期: 2009-2010学年第2学期

学时学分: 48学时 3学分

专业班级: xxxxxxxx

学号: xxxxxxxxxxx 姓名: xxxxxxx 指导老师: xxx 提交日期: xxxx年 xx月xx日

题目JAVA课程设计

一、实验目的

通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。信科0821班学生的课程设计主要是Java语言程序设计的实现。通过该课程设计,可以将学生课堂上掌握的理论知识与处理数据的业务相结合,以检验我们同学们掌握知识的宽度、深度及对知识的综合运用能力。

二、实验环境

硬件环境CPU:AMD5000+ 双核主板:华硕M2N-X 显示器:

1024x768/256色

操作系统:Windows XP;JDK:jdk-6u18-windows-i586;

运行环境以及调试软件:JCreator Pro

三、实验内容

内容一:设计一个计算器,利用它可以进行简单的四则运算(加、减、乘、除、开方)等,但仅限于十进制下,此外还可以进行(八进制,十进制,十六进制)之间的相互转换。

内容二:设计一个记事本,菜单中要求有文件,编辑,和帮助。文

件中有新建、打开、保存和退出;编辑中有剪切、复制和粘贴;帮助中

显示开发人和版本信息。

内容三:编写tic-tac-toe游戏程序。即 3*3的9个方格子,每人

下一次看谁先连成一行3个

四、算法分析、设计与描述

1.算法分析和设计

内容(1)

算法分析:

首先,设计对输入数字的进行转换,不进行转换操作则默认为十进制,然后进行符号转换操作以及正弦函数等,接着可以进行加减乘除等

运算,添加“C”、“CE”按钮进行退格和清空操作,清空操作显示“0”,最后在帮助中显示开发人信息。

功能及界面设计:

功能1:按下数字键在液晶平上会显示数字,这时计算器最基本的

功能。

功能2:输入数字后,点击进制转换,可转换成二、八进制;按“exp”“log”键,则进行e次幂运算和自然对数运算;按“tan”“cos”“sin”则进行三角函数运算。

功能3:按“+”“-”“*”“/”分别进行四则运算

功能4:在任何时候按下“+/-”键,计算器文本框上的数字置反号。

功能5:第一次按下“运算”键,再按下数字键,将重新输入第二个数字。再次按下“运算”键,将算出前两个数字运算的结果,然后按下数

字,将又重新输入新的数字。

功能6:按下“C”键向前退格,按下“C E”键,数据被全部清除

功能7:按下“帮助”键查看制作人信息

功能8:按下“选项”键,点“退出”键退出

计算器面板设计

算法描述

选项进制转换帮助

(输出区域)

sqrt +/- exp C CE 7 8 9 log / 4 5 6 tan * 1 2 3 cos - 0 . = sin +

内容(2)

算法分析:此程序应当符合大众化,因为记事本是一个常用程序,因此我们常用计算机系统带的记事本进行设计本程序,其功能有以下几个方面:

(1)“菜单”中有“文件”,“编辑”,“帮助”三个主菜单。

(2)“文件”中有“新建”,“打开”,“保存”,“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。

(3)“编辑”中有“剪切”,“复制”,“粘贴”三个子菜单:用于剪切文字,复制文字,粘贴文字。

(4)“帮助”菜单中有“关于”用来显示作者信息

计算结果显示

接受用户输入

是否再次计算

退出

处理异常

默认十进制 十六进制

八进制

开始

选择你要计算运行的进制10、8、16

进制转换

刷新

记事本面板设计:

文件编辑帮助

(文本区)

内容(3)

算法分析:

1初始化游戏,2检查棋子是否布满游戏格局,格局被布满则进行赢者判断,没布满则“X”下棋,3再次检查游戏格局是否被棋子布满,没布满则轮到“O”下棋,且跳到步骤2,若布满格局则进行赢者判断

算法描叙:

五、程序设计

1.程序设计的基本思路 内容(1):

计算结果显示区设计

private JTextField displayField 保存+,-,*,/,=命令

private String lastCommand 保存计算结果

private double result 判断是否为数字的开始 private boolean start

设置布局、为按钮注册事件监听器 public Calculator()

是否占满游戏格局

初始化游戏

平局

是否有玩家赢

是否占满游戏

输出赢家

“O ”下棋

“X ”下棋

Y

Y

N

N

N

Y

是否有玩家赢

N

Y

调用成员方法添加菜单

this.addmyMenu()

按钮的单击事件处理方法

public void actionPerformed(ActionEvent e)

退格键的实现方法

if(input.equals("C")) {

if(str.length()>0)

displayField.setText(str.substring(0,str.length()-1)); // 清零键的实现方法

input.equals("CE")

displayField.setText("0");

start=true;

内容(2):

使用的包如下:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

为按钮添加行为监听器: ActionListener

为按钮添加键盘适配器:KeyListener

菜单设计:

JMenuBar mbar;

JMenu mnuFile, mnuEdit, mnuHelp;

JMenuItem fileNew, fileOpen, fileSave, fileExit;

JMenuItem editCut, editCopy, editPaste, editSelectAll, editDel;

JMenuItem helpAbout;

JToolBar tlbr;

ImageIcon iconNew, iconOpen, iconSave;

ImageIcon iconCut, iconCopy, iconPaste;

JButton bttnNew, bttnOpen, bttnSave;

JButton bttnCut, bttnCopy, bttnPaste;

打开异常处理:

catch(Exception ex)

{

JOptionPane.showMessageDialog

(

相关文档
最新文档