文档库 最新最全的文档下载
当前位置:文档库 › java实验报告_计算器_记事本_井字游戏

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

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

课程设计报告

实验内容:综合课程设计

相关课程: 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

(

this,

ex.getMessage(),

"打开失败",

JOptionPane.ERROR_MESSAGE

);

}

退出异常处理:

if(txtChanged)

{

int res;

res = JOptionPane.showConfirmDialog

(

this,

"保存更改?",

"退出",

JOptionPane.YES_NO_CANCEL_OPTION

);

if(res == JOptionPane.YES_OPTION)

{

saveFile();

}

else if(res == JOptionPane.CANCEL_OPTION)

{

return;

}

内容(3)

创建并且初始化盘区单位

private char whoseTurn = 'X';

创建并且初始化状态标签

private Cell[][] cells = new Cell[3][3];

private JLabel jlblStatus = new JLabel("X's turn to play");

确认玩家顺序

public TicTacToe() {

JPanel p = new JPanel(new GridLayout(3, 3, 0, 0));

for (int i = 0; i < 3; i++)

for (int j = 0; j < 3; j++)

p.add(cells[i][j] = new Cell());

判断盘区单位全部是否被棋子占领

public boolean isFull() {

for (int i = 0; i < 3; i++)

for (int j = 0; j < 3; j++)

if (cells[i][j].getToken() == ' ')

return false;

return true;

}

判断有指定的象征的玩家胜利

public boolean isWon(char token) {

for (int i = 0; i < 3; i++)

if ((cells[i][0].getToken() == token)

&& (cells[i][1].getToken() == token)

&& (cells[i][2].getToken() == token)) { return true;

}

for (int j = 0; j < 3; j++)

if ((cells[0][j].getToken() == token)

&& (cells[1][j].getToken() == token)

&& (cells[2][j].getToken() == token)) { return true;

}

if ((cells[0][0].getToken() == token)

&& (cells[1][1].getToken() == token)

&& (cells[2][2].getToken() == token)) { return true;

}

if ((cells[0][2].getToken() == token)

&& (cells[1][1].getToken() == token)

&& (cells[2][0].getToken() == token)) { return true;

}

return false;

}

2.程序代码

内容(1):

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator extends Frame implements ActionListener, WindowListener

{

private Container container;

private GridBagLayout layout;

private GridBagConstraints constraints;

private JTextField displayField; //计算结果显示区

private String lastCommand; //保存+,-,*,/,=命令0

private double result; //保存计算结果

private boolean start; //判断是否为数字的开始

private JMenuBar menubar;

private JMenuItem m_exit,m2_ejz,m2_bjz;

private Dialog dialog;

private Label label_dialog;

private JButton button_sqrt,button_plusminus,button_CE,button_cancel,button_1,button_2 ,

button_3,button_4,button_5,button_6,button_7,button_8,button_9,button_ 0,

button_plus,button_minus,button_multiply,button_divide,button_poin t,

button_equal,button_log,button_tan,button_cos,button_sin,button_ex p;

public Calculator() //构造方法设置布局、为按钮注册事件监听器

{

super("Calculator");

this.setLocation(240,200);

this.setSize(350,300);

this.setResizable(true);

this.setLayout(new GridLayout(7,1));

this.addmyMenu(); //调用成员方法添加菜单

displayField=new JTextField(30);

this.add(displayField);

displayField.setEditable(true);

start=true;

result=0;

lastCommand = "=";

JPanel panel0=new JPanel();

panel0.setLayout(new GridLayout(1,4,4,4));

JPanel panel1=new JPanel();

panel1.setLayout(new GridLayout(1,5,4,4));

this.add(panel1);

button_sqrt=new JButton("sqrt");

button_plusminus=new JButton("+/-");

button_exp=new JButton("exp");

button_CE=new JButton("C");

button_cancel=new JButton("CE");

JPanel panel2=new JPanel();

panel2.setLayout(new GridLayout(1,5,4,4));

this.add(panel2);

button_7=new JButton("7");

button_8=new JButton("8");

button_9=new JButton("9");

button_log=new JButton("log");

button_divide=new JButton("/");

JPanel panel3=new JPanel();

panel3.setLayout(new GridLayout(1,5,4,4));

this.add(panel3);

button_4=new JButton("4");

button_5=new JButton("5");

button_6=new JButton("6");

button_tan=new JButton("tan");

button_multiply=new JButton("*");

JPanel panel4=new JPanel();

panel4.setLayout(new GridLayout(1,5,4,4));

this.add(panel4);

button_1=new JButton("1");

button_2=new JButton("2");

button_3=new JButton("3");

button_cos=new JButton("cos");

button_minus=new JButton("-");

JPanel panel5=new JPanel();

panel5.setLayout(new GridLayout(1,5,4,4));

this.add(panel5);

button_0=new JButton("0");

button_point=new JButton(".");

button_equal=new JButton("=");

button_sin=new JButton("sin");

button_plus=new JButton("+");

panel1.add(button_sqrt);

panel1.add(button_plusminus);

panel1.add(button_exp);

panel1.add(button_CE);

panel1.add(button_cancel);

panel2.add(button_7);

panel2.add(button_8);

panel2.add(button_9);

panel2.add(button_log);

panel2.add(button_divide);

panel3.add(button_4);

panel3.add(button_5);

panel3.add(button_6);

panel3.add(button_tan);

panel3.add(button_multiply);

panel4.add(button_1);

panel4.add(button_2);

panel4.add(button_3);

panel4.add(button_cos);

panel4.add(button_minus);

panel5.add(button_0);

panel5.add(button_point);

panel5.add(button_equal);

panel5.add(button_sin);

panel5.add(button_plus);

button_sqrt.addActionListener(this);

button_plusminus.addActionListener(this);

button_exp.addActionListener(this);

button_CE.addActionListener(this);

button_cancel.addActionListener(this);

button_7.addActionListener(this);

button_8.addActionListener(this);

button_9.addActionListener(this);

button_log.addActionListener(this);

button_divide.addActionListener(this);

button_4.addActionListener(this);

button_5.addActionListener(this);

button_6.addActionListener(this);

button_tan.addActionListener(this);

button_multiply.addActionListener(this);

button_1.addActionListener(this);

button_2.addActionListener(this);

button_3.addActionListener(this);

button_cos.addActionListener(this);

button_minus.addActionListener(this);

button_0.addActionListener(this);

button_point.addActionListener(this);

button_equal.addActionListener(this);

button_sin.addActionListener(this);

button_plus.addActionListener(this);

this.addWindowListener(new WinClose()); //注册窗口监听器

this.setVisible(true);

}

private void addmyMenu() //菜单的添加

{

JMenuBar menubar=new JMenuBar();

this.add(menubar);

JMenu m1=new JMenu("选项");

JMenu m2=new JMenu("进制转换");

JMenuItem m1_exit=new JMenuItem("退出");

m1_exit.addActionListener(this);

JMenuItem m2_ejz=new JMenuItem("二进制");

m2_ejz.addActionListener(this);

JMenuItem m2_bjz=new JMenuItem("八进制");

m2_bjz.addActionListener(this);

JMenu m3 = new JMenu(" 帮助");

JMenuItem m3_Help = new JMenuItem("作者");

m3_Help.addActionListener(this);

dialog = new Dialog(this,"关于",true); //模式窗口 dialog.setSize(240,80);

label_dialog = new Label("",Label.CENTER); //标签的字符串为空,居中对齐

dialog.add(label_dialog);

dialog.addWindowListener(this); //为对话框注册窗口事件监听器

m1.add(m1_exit);

menubar.add(m1);

m2.add(m2_ejz);

m2.add(m2_bjz);

menubar.add(m2);

m3.add(m3_Help);

menubar.add(m3); }

public void actionPerformed(ActionEvent e) //按钮的单击事件处理方法

{

if(e.getSource().equals(button_1)||e.getSource().equals(button_2)||

e.getSource().equals(button_3)||e.getSource().equals(button_4)||

e.getSource().equals(button_5)|| e.getSource().equals(button_6)||

e.getSource().equals(button_7)|| e.getSource().equals(button_8)||

e.getSource().equals(button_9) ||e.getSource().equals(button_0)||

e.getSource().equals(button_point)||e.getSource().equals(button_pl usminus)||

e.getSource().equals(button_cancel)||e.getSource().equals(button_C E))

{ //非运算符的处理方法

String input=e.getActionCommand();

if (start)

{

displayField.setText("");

start=false;

if(input.equals("+/-"))

displayField.setText(displayField.getText()+"-");

}

if(!input.equals("+/-"))

{

String str=displayField.getText();

if(input.equals("C")) //退格键的实现方法

{

if(str.length()>0)

displayField.setText(str.substring(0,str.length()-1));

}

else if(input.equals("CE")) //清零键的实现方法

{

displayField.setText("0");

start=true;

}

else

displayField.setText(displayField.getText()+input);

}

}

else if (e.getActionCommand()=="二进制") //二进制的转换

{

int n=Integer.parseInt(displayField.getText());

displayField.setText(Integer.toBinaryString(n));

}

else if (e.getActionCommand()=="八进制") //八进制的转换{

int n=Integer.parseInt(displayField.getText());

displayField.setText(Integer.toOctalString(n));

}

else if (e.getActionCommand()=="退出") //选项中退出的处理方法

{

System.exit(0);

}

else if (e.getActionCommand()=="作者") //按下'帮助'菜单栏中用法的处理方法

{

label_dialog.setText("熊瑛琪制作 \n学号:080320618");

dialog.setLocation(400,250);

dialog.setVisible(true);

}

else //各运算符的识别

{

String command=e.getActionCommand();

if(start)

{

lastCommand=command;

}

else

{

calculate(Double.parseDouble(displayField.getText()));

lastCommand=command;

start=true;

}

}

}

public void calculate(double x) //各运算符的具体运算方法

{

double d=0;

if (lastCommand.equals("+"))

result+= x;

else if (lastCommand.equals("-"))

result-=x;

else if (lastCommand.equals("*"))

result*=x;

else if (lastCommand.equals("/"))

result/=x;

else if (lastCommand.equals("="))

result=x;

else if (lastCommand.equals("sqrt"))

{

d=Math.sqrt(x);

result=d;

}

else if (lastCommand.equals("exp"))

{

d=Math.exp(x);

result=d;

}

else if (lastCommand.equals("log"))

{

d=Math.log(x);

result=d;

}

else if (lastCommand.equals("tan"))

{

d=Math.tan(x);

result=d;

}

else if (lastCommand.equals("cos"))

{

d=Math.cos(x);

result=d;

}

else if (lastCommand.equals("sin"))

{

d=Math.sin(x);

result=d;

displayField.setText(""+ result);

}

public void windowClosing(WindowEvent e)

{

if(e.getSource()==dialog)

dialog.setVisible(false); //隐藏对话框

else

System.exit(0);

}

public void windowOpened(WindowEvent e) { }

public void windowActivated(WindowEvent e) { }

public void windowDeactivated(WindowEvent e) { }

public void windowClosed(WindowEvent e) { }

public void windowIconified(WindowEvent e) { }

public void windowDeiconified(WindowEvent e) { }

public static void main(String args[])

{

Calculator calculator=new Calculator();

}

}

class WinClose implements WindowListener

{

public void windowClosing(WindowEvent e) //单击窗口关闭按钮时触发并执行实现窗口监听器接口

{

System.exit(0); //结束程序运行

}

public void windowOpened(WindowEvent e){}

public void windowActivated(WindowEvent e){}

public void windowDeactivated(WindowEvent e){}

public void windowClosed(WindowEvent e){}

public void windowIconified(WindowEvent e){}

public void windowDeiconified(WindowEvent e){}

}

内容(2):

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

class MyPad extends JFrame implements ActionListener, KeyListener {

boolean txtChanged = false;

String fname = "";

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;

JTextArea txtPad;

Container c;

MyPad()

{

initComponents();

setTitle("MyPad");

setSize(400,300);

setVisible(true);

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener(new WinHandler());

}

void initComponents()

{

c = getContentPane();

c.setLayout(new BorderLayout());

initMenu();

txtPad = new JTextArea();

Font f = new Font("Comic Sans MS", Font.PLAIN, 20);

txtPad.setFont(f);

txtPad.addKeyListener(this);

JScrollPane jscroll = new JScrollPane(txtPad);

c.add(jscroll, BorderLayout.CENTER);

}

void initMenu()

{

mbar = new JMenuBar();

mnuFile = new JMenu("文件");

mnuEdit = new JMenu("编辑");

mnuHelp= new JMenu("帮助");

fileNew = new JMenuItem("新建");

fileOpen= new JMenuItem("打开");

fileSave= new JMenuItem("保存");

fileExit = new JMenuItem("退出");

editCut = new JMenuItem("剪切");

editCopy= new JMenuItem("复制");

editPaste = new JMenuItem("黏贴");

editSelectAll = new JMenuItem("全选");

editDel= new JMenuItem("删除");

helpAbout= new JMenuItem("关于");

mnuFile.add(fileNew);

mnuFile.add(fileOpen);

mnuFile.add(fileSave);

mnuFile.add(fileExit);

mnuEdit.add(editCut);

mnuEdit.add(editCopy);

mnuEdit.add(editPaste);

mnuEdit.addSeparator();

mnuEdit.add(editSelectAll);

mnuEdit.add(editDel);

mnuHelp.add(helpAbout);

mbar.add(mnuFile);

mbar.add(mnuEdit);

mbar.add(mnuHelp);

setJMenuBar(mbar);

fileNew.addActionListener(this);

fileOpen.addActionListener(this);

fileSave.addActionListener(this);

fileExit.addActionListener(this);

editCut.addActionListener(this);

editCopy.addActionListener(this);

editPaste.addActionListener(this);

editSelectAll.addActionListener(this);

editDel.addActionListener(this);

helpAbout.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

Object src = e.getSource();

if(src.equals(bttnNew) || src.equals(fileNew))

{

newFile();

}

else if(src.equals(bttnOpen) || src.equals(fileOpen)) {

openFile();

}

else if(src.equals(bttnSave) || src.equals(fileSave)) {

saveFile();

}

else if(src.equals(fileExit))

{

exitFile();

}

else if(src.equals(bttnCut) || src.equals(editCut)) {

txtPad.cut();

}

else if(src.equals(bttnCopy) || src.equals(editCopy)) {

txtPad.copy();

}

else if(src.equals(bttnPaste) || src.equals(editPaste)) {

txtPad.paste();

}

else if(src.equals(editSelectAll))

{

txtPad.selectAll();

}

else if(src.equals(editDel))

{

txtPad.replaceSelection("");

}

else if(src.equals(helpAbout))

{

aboutHelp();

}

}

void newFile()

{

if(txtChanged)

{

int res;

res = JOptionPane.showConfirmDialog

(

this,

"保存修改?",

"新建文件",

JOptionPane.YES_NO_CANCEL_OPTION

);

if(res == JOptionPane.YES_OPTION)

{

saveFile();

}

else if(res == JOptionPane.CANCEL_OPTION)

{

return;

}

}

fname = "";

txtChanged = false;

txtPad.setText("");

}

void saveFile()

{

if(fname.equals(""))

{

JFileChooser jfc = new JFileChooser();

int res;

res = jfc.showSaveDialog(this);

if(res == jfc.APPROVE_OPTION)

{

fname = jfc.getSelectedFile().getAbsolutePath(); }

else

{

return;

}

}

try

{

FileWriter fw = new FileWriter(fname);

fw.write(txtPad.getText());

fw.flush();

fw.close();

txtChanged = false;

}

catch(Exception ex)

{

JOptionPane.showMessageDialog

(

this,

ex.getMessage(),

"保存失败",

JOptionPane.ERROR_MESSAGE

);

}

}

void openFile()

{

int res;

JFileChooser jfc = new JFileChooser("c:/");

res = jfc.showOpenDialog(this);

if(res == jfc.APPROVE_OPTION)

{

fname = jfc.getSelectedFile().getAbsolutePath();

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

课程设计报告 实验内容:综合课程设计 相关课程: 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:第一次按下“运算”键,再按下数字键,将重新输入第二个数字。再次按下“运算”键,将算出前两个数字运算的结果,然后按下数

简单计算器JAVA

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单计算器 学生学号 专业班级信管101 学生姓名 学生成绩 指导教师朱军 工作时间2013-7-5

目录 第一章选题简介 第二章需求分析 1.系统要实现的目标分析 2.对输入输出数据及流程的分析 3.开发环境及运行环境分析 第三章系统设计 1.系统功能模块设计 2.类设计 3.数据库的设计(如果有) 4.界面设计 第四章测试 1.测试用例及结果 2.程序功能的评价 第五章总结 1.遇到的问题及解决的方法 2.开发体会及自评成绩 参考文献 第一章选题简介:简单计算器

第二章需求分析 1.系统要实现的目标分析:设计一个简单计算器,点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;如果输入有误时可以按Clear撤销后重新输入新数据。 2.对输入输出数据及流程的分析:输入的符号有JiSuanQi、File、Edit、Help、on、off、close、copy、0、1、2、3、4、5、6、7、8、9、+、-、*、/、=、Backspace、CE、C,中文意思依次是计算器、文件夹、项目、帮助、开、关、复制、0、1、2、3、4、5、6、7、8、9、加、减、乘、除、等于、退格; 3.开发环境及运行环境分析:Microsoft Windows2000、jdk1.7.0_25、JCreator Pro; 第三章系统设计 1.系统功能模块设计:加、减、乘、除运算;“等于”符号;复位; 2.类设计:public void disp() 创建无值函数disp(),用来存放界面所需要展示的元素,包 括有面板,按钮,弹出对话框,显示框等。 public void actionPerformed(ActionEvent e) 创建无值函数actionPerformed(ActionEvent e),其允许的输入 值类型为ActionEvent e,在里面编写的是加减乘除等一些算 法。 public void setSum() 创建无值函数setSum(),显示出经过算法计算出的结果, public void windowClosing(WindowEvent e)

JAVA简单记事本程序设计实验报告(带源码).

JAVA程序设计 实验报告 院系:信息工程系 专业:计算机应用技术 班级:11计算机01班 姓名:Civen 任课教师:XXX 实验题目:JA V A简单记事本程序设计

目录 目录 (1) 一、引言 (2) 1.1 课程设计目的 (2) 1.2 题目说明 (2) 1.3 开发工具介绍 (2) 二、总体设计 ......................................................................... - 4 - 2.1系统开发平台.............................................................. - 4 - 2.2 系统流程图 (4) 2.3功能结构图.................................... 错误!未定义书签。 2.4数据库设计.................................... 错误!未定义书签。 三、详细说明 (4) 3.1 系统实施................................................................... - 11 - 四、系统的调试和运行 (9) 五、课程设计总结 (9) 六、参考文献 (9) 附录(源程序代码) (10)

一、引言 1.1 课程设计目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5.实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.wendangku.net/doc/138065327.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

java计算器实验报告

Java计算器实验报告 计算机032 胡勇健 03095218 2005年5月5日

目录 1.设计名称与要求 2.各模块功能的介绍和实现3.系统的特色和不足4.参考书

一. 实验名称及其要求: A)名称: java计算器的设计 B)要求:1.实验目的:图形界面设计。 熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 2.题意: 请设计并实现Windows系统中“计算器”的窗口及功能。 3.实验要求: (1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。 (2)运算:实现多种运算,保证运算正确性。 二.各模块功能的介绍和实现: A)GUI图形界面的组件: a)所用到的Java类库包: java.awt.*; 基本的图形界面组件来源于awt包。 java.awt.event.*; 事件的属性处理来源于awt.event包。 javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。 java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。 b)所用的各部分图形组件的定义: Frame mainFrame; //主框架 JTextField answerText; //显示计算结果 JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏 Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单 MenuItem copyItem,pasteItem; //复制,粘贴 MenuItem standardModel; //标准型 CheckboxMenuItem numGroup; //数字分组 MenuItem aboutCal; //关于计算器 Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮 Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮 Button buttonNum[]; //数字按钮 Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/ Button buttonDot,buttonSign,buttonEqual; //. +/- =

用Java程序编写一个记事本程序的设计报告

用Java程序编写一个记事本程序的 设计报告 学习中心(点):泾阳学习中心 专业:计算机科学与技术 层次:专升本 姓名:李永固 批次: 112

目录 一、设计分析 (1) 二、程序结构 (1) 三、各模块的功能及程序说明 (2) 1、类设计 (2) 2、主要功能代码实现 (4) 四、源程序 (9) 五、操作方法 (20) 六、试验结果 (20) 七、设计体会 (22)

用Java程序编写一个记事本程序的设计报告 一、设计要求 1.用图形用户界面实现。 2.能实现编辑、保存、另存为、查找替换等功能。 二、程序结构 流程图: 图1基本流程图

本Java文本编辑器功能设计如下: 图2基本功能图 三、各模块的功能及程序说明 1、类设计 (1)类MiniText ,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:

(2)类Loading (实现登陆)类成员如下:

(3)类runtime (实现时间同步) 类成员如下: (4)类MainFunction (包含主函数) 类成员如下: 2、主要功能代码实现 (1)登陆界面: class Loading extends JWindow implements Runnable { Thread dluThread=null; private JProgressBar progress; public Loading() { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标为等待状态JPanel dlu = new JPanel(new BorderLayout()); URL url = getClass().getResource("/images/loading.jpg"); if(url != null){ dlu.add(new JButton(new ImageIcon(url)), BorderLayout.CENTER); } progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPainted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); //设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); //显示登陆界面 setLocation(screen.width/4,screen.height/4); //设置登陆界面始终在屏幕中间显示 } public void start(){ // this.toFront(); dluThread=new Thread(this); dluThread.start(); } public void run(){ show();

JAVA计算器实验报告

实验:计算器java程序 班级:XXXXXXX 姓名:XXXXX 学号:XXXXXXXX 实验地点:XXXXX 一、实验目的: 通过制作一个计算器让我们了解到组件的运用以及如何制作一个窗口,怎么样使用各种布局管理器,怎么样注册事件的监听,以及怎么样设置按钮或者说组件的监听程序,学会使用java语言的语法规则,掌握接口的使用,了解组建的背景颜色的设置等方法。 二、实验要求: 1.编写一个java计算器程序; 2. 运用组件的方法来布局窗口,运用接口,事件监听程序来完成计算器的功能。 三,实验步骤 1、新建一个类,注册各种组件; 2、获取窗格;设置布局管理器; 3、为各个组件注册监听程序; 4、设置组件的事件监听程序; 5、运行程序,对结果进行截图; 四,设计思路: 1.界面设置布置模块: 使用了awt,swing的类里面的方法来完成界面的布置。其中,容器布置选择了BorderLayout方法来布置面板,选择了GirdLayout方法来布置按钮。 文本区域接收字符从数字按钮的监听中获得。按钮是常规思路添加到面板上。并为按钮注册监听。 2.监听程序思路: 使用tf.getText()+"n"来实现获得文本区域显示按钮字符串,n等于所设置监听的数字按钮。tf.setText()来保存并输出获得的字符串。

使用Double.parseDouble()实现文本区域字符串转换成Double 型数据来完成计算。把ft.setText()中的字符转换成数字。 使用biaozhi==n。的方法来获得启发值。完成运算符按钮的监听。构造方法,运用biaozhi=n,来完成加减乘除小数点的不同运算。 运算后获得结果flag3。ft.setText()获得值显示在文本区域上3.数字按钮输入使用循环会更加简单,减少了十个数字按钮的逐个输入,添加,注册监听 for (int i=0;i<=9;i++){ btn[i]=new Button(String.valueOf(i)); centerPanel.add(btn[i]); btn[i].addActionListener(); } 五,程序实现: package yyy; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.Button; import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 public class jisuanqi8{ //新建对象,在构造函数中进行初始化 JFrame f;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”

Java带计算过程的计算器课程设计报告

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录1 源程序清单...................................... 错误!未定义书签。

JAVA课程设计-编写一个记事本程序

Java语言程序设计B报告 题目:编写一个记事本程序 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

java简单界面计算器

package calculator; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; /** * * @author 某某某 * */ public class Calculator extends JFrame implements ActionListener{ //设计按钮数组1包含数字键和删除键DEL和清屏键,小数点。 JButton[] but1 = {new JButton("1"),new JButton("2"),new JButton("3"),new JButton("4"),new JButton("5"),new JButton("6") ,new JButton("7"),new JButton("8"),new JButton("9"),new JButton("."),new JButton("0"),new JButton("del")}; //设计按钮数组2包含加减乘除,开根号,取余,等于键,平方,三次方。 JButton[] but2 = {new JButton("+"),new JButton("-"),new JButton("*"),new JButton("/"),new JButton("^2"),new JButton("^3"),new JButton("%") ,new JButton("sqrt"),new JButton("exit"),new JButton("="),new JButton("AC")} ; //创建一个单行文本 JTextField text = new JTextField(25); //创建五个面板 JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); JPanel jp3 = new JPanel(); JPanel jp4 = new JPanel(); JPanel jp5 = new JPanel();

java计算器设计报告

摘要 本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开平方、求余、求倒数,还可以实现二进制与十进制之间的转换。通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。 关键词: java语言,计算器,算法

目录 摘要 (1) 1概述 (3) 1.1设计目的及思路 (3) 1.2功能模块设计 (3) 1.3系统功能图 (3) 2计算器的设计与实现 (4) 2.1程序界面 (4) 2.2程序源代码 (4) 3计算器演示 (10) 4运行调试及讨论分析 (13) 5小结 (14) 参考文献: (14)

1概述 1.1设计目的及思路 通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 1.2功能模块设计 以下为标准计算器的基本功能: (1)加法 两个数据进行加操作,可以为小数。 (2)减法 两个数据进行减操作,可以为负数相减。 (3)乘法 两个数相乘操作。 (4)除法 两个数相除操作。 (5)开平方 对任意一个数进行开方运算,可以是小数。 (6)求余 对任意一个数进行求余运算。 (7)倒数 对任意一个数进行倒数运算。 (8)转换 将十进制数转换为二进制以及将二进制转换为十进制。 1.3系统功能图

简易计算器Java实训报告

实训报告书实训名称:Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术 学生姓名: 学号: 指导教师:张民 完成日期:2015.12.11 山东科技大学泰山科技学院

课程实训报告书

目录 1 实训目的 (3) 2 简易计算机的分析与设计 (3) 2.1 系统功能描述 (3) 2.2 系统模块设计 (3) 2.3 数据库结构设计 (4) 3 主要代码清单 (5) 4 程序运行与测试 (9) 5 实训总结 (11)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 2.1 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作 2.2 系统模块设计 (1)加法 两个数据进行加操作,可以为小数。 (2)减法 两个数据进行减操作,可以为负数相减。( 3)乘法

(完整word版)如何用记事本编写一个简单的java代码

一:怎么用记事本写第一个java代码? 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为Test.java,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 System.out.println("HelloWorld");//java中的输出语句写法} } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac Test.java然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为Test.java,如果你是把你的文档文档建立在D盘,则应该输 入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为Test.java,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入java.Test.java回车,再输入java Test就可以看到运行结果了 3,如果你在D盘下的CH的文件夹下新建一个为ch 的文件夹,并且在ch的文件夹下新建一个txt文

JAVA计算器综合实验报告

华北科技学院计算机学院综合性实验 实验报告 课程名称JAVA程序设计 实验学期2012至2013学年第1学期学生所在系部计算机学院 任课教师白磊 实验成绩 计算机学院制

《JAVA程序设计》课程综合性实验报告 开课实验室:基础四2012年12月09日 实验题目简单计算器设计 一、实验目的 通过编写Java的应用系统综合实例——简单计算器软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。 熟悉在集成开发环境下编写Java程序。 二、设备与环境 Eclipse、JDK开发包、集成开发环境 三、实验内容及代码 首先设计的是程序的结构。程序中主要是一计算器公共类(implements ActionListener),包括构造函数(用于计算器的外观设置,布局)。在设计一个界面时先设计Frame容器,在north添加一个TextField,center添加一个Panel容器。再在Panel容器中添加两个panel容器,第一个panel中添加“CE”(西端)、“backspace”(中间)、“C”(东端)三个按钮。第二个panel容器中GridLaout把容器分成四行五列,添加1,2,3,4,5,6,7,8,9,0,+,-,*,/,%,+\-,1/x,sqrt,=,这些按钮。定义各个按钮逐个添加给ActionListener监听器进行注册。界面构造号后接着定义算法。定义加减乘除,倒数,开方等这些基本运算包含于actionPerformed 方法(用于事件的响应),一个public static void main(String arg[])程序运行入口。在main中创建一个计算器类对象,在创建对象的同时,初始化各组件,创建图形用户界面。 代码: import javax.swing.*; import java.awt.*; import java.awt.event.*;

简易计算器Java实训报告

实训名称: Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

山东科技大学泰山科技学院

目录 1 实训目的 (2) 2 简易计算机的分析与设计 (2) 系统功能描述 (2) 系统模块设计 (2) 数据库结构设计 (3) 3 主要代码清单 (4)

4 程序运行与测试 (8) 5 实训总结 (10)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作

相关文档