java计算器程序代码及文档(带异常处理,括号等。注释详细易懂)

java计算器程序代码及文档(带异常处理,括号等。注释详细易懂)
java计算器程序代码及文档(带异常处理,括号等。注释详细易懂)

四则运算计算器设计说明书

一.设计目标

本次计算器的程序设计,通过使用JA V A中的AWT包和Swing包的类库设计图形界面的计算器。此计算器能够完成加减乘除的四则混合运算。利用面向对象程序设计的思想,将各个组件的事件响应分别用不同的方式表达出来,并且使用了图形界面中的事件委托机制来处理事件响应。

二.设计流程

1. 分析该计算器需要完成的功能。

用户能够完成添加括号和负号的四则混合运算,并且计算器能够自动识别运算符的优先级,根据用户输入的运算表达式,自动计算出相应的结果。同时还完成了计算器中C按钮清屏功能和Backspace退格键。

2. 考虑异常处理。

(1)当输入的表达式中出现除零的操作,显示框将显示“Infinity(无穷大)”。

(2)当输入的表达式错误时,将弹出提示框显示“表达式错误请重新输入”

(3)当计算器的显示文本框里为没有输入内容时直接点击等号按钮,将弹出提示框显示“对不起,您没有任何输入,请重新输入:”。

(4)当第一次输入乘号键,除号键,右括号,小数点,求余键,等号键,ce 键,Backspace键时提示错误。

4. 考虑数据的处理

目标计算表达式通过点击计算器界面上的按钮进行输入,当按下等号之后,计算器通过调用JA V A中script这个包中的相关类和方法来实现数据的处理。

5. 编码实现计算器的功能。

(1)新建相关的文件。

(2)引入JA V A中相关的包。

(3)新建类Jsq,并继承了类Frame,而且实现了接口ActionListener

(4)定义相关的变量,创建相关组件,并对组件的属性进行设置。

(5)对所创建的组件进行布局,完成界面的实现。

(6)为各个组件添加事件监听器。

(7)重写事件接口ActionListener的方法public void actionPerformed(ActionEvent e)。

(8)为各个组件编写事件代码,完成每个按钮的不同功能。

三.测试过程的截图

1. 程序初始运行界面

2运算测试

3.混合运算测试:

异常处理测试:

1.输入错误的表达式

2、除数为0时:

四.设计结果

此计算器以完成设计,所有功能都以实现,并达到了预想的设计目标。五.参考文献

1.Java面向对象程序设计教程(第二版)。李发致编著。清华大学出版社,2009.11

2.java开发技术大全刘新等编著。清华大学出版社 2009年2月第一版六.总结

本次Java程序设计,成功完成了一个计算器的设计与实现。此计算器可用于基本的算术运算,同时还具有四则混合运算且可以加括号的复杂表达式的计算。

七.附录一:用户使用手册

1.此计算器程序目前只能在安装了JDK(建议安装版本在1.6以上)的计算机上运行使用。

2.此计算器显示区的内容可以使用键盘输入和点击面板上的按钮进行输入。

3.在点击面板上第一次点击乘号键,除号键,右括号,小数点,求余键,等号键,ce键,Backspace键都有对应的错误提示。

4.此计算器能进行四则混合运算(可以加括号)表达式的值,注意在输入表

达式时,要严格按照规范输入,否则会出错,会提示表达式错误请重新输入!,

并且清除当前以输入的表达式。

5.点击ce键时会清屏,点击Backspace键时会退一格。

八:程序代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.List;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;

public class Calculator extends Frame

{

public static void main(String[] args)

{

/*******添加窗口********/

final Frame window = new Frame("Calculator");

window .setSize(380, 337); //设置窗口长宽

window .setResizable(false); //设置窗体大小不可更改

int width =

Toolkit.getDefaultToolkit().getScreenSize().width; //获取当前桌面

宽度

int height =

Toolkit.getDefaultToolkit().getScreenSize().height; //获取当前桌面高

window.setLocation(width / 2 - 200, height / 2 - 150);

//把窗口设置在桌面中间

window .setLayout(null); //组件不会随窗口的大小而改变

/*******添加文本框********/

final JTextField text = new JTextField();

text.setHorizontalAlignment(JTextField.RIGHT);

//设置文本框右对齐

//text.setEditable(false);

text.setEditable(true);

//设置文本框可编辑

text.setBounds(10,40,360,50);

//设置文本框位置

window .add(text); //把文本框添加到窗口中

text.setForeground(Color.blue);

//设置文本框内文字颜色为蓝色

text.setBackground(Color.LIGHT_GRAY ); //设置文本框背景色为浅灰色

text.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent arg0) {

ScriptEngineManager sem1 = new ScriptEngineManager();

ScriptEngine se1 = sem1.getEngineByName("js");

try{

int leng10 = text.getText().length();

if(leng10 == 0)

{

JOptionPane.showMessageDialog(null, "对不

起,您没有任何输入,请重新输入:");

text.requestFocusInWindow();

//文本框获得焦点

}

else {

String reslut =

se1.eval(text.getText()).toString();

//计算文本框内的表达式并把

值传给reslut

text.setText(text.getText()+"="+reslut);

text.requestFocus();

//文本框获得焦点

}

}catch (ScriptException evt){

JOptionPane.showMessageDialog(null,"表达式错

误,请重新输入!");

text.setText("");

//给文本框赋值为空达到清屏作用

text.requestFocus();

//文本框获得焦点

}

}

});

/***********设置0键***************/

final JButton b0 = new JButton("0"); //新建按钮0

b0.setBounds(10,283,72,50); //设置0键的位置

window.add(b0); //把文本框添加到窗口中

b0.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口定义好的 ActionEvent类型 e是参数名

{

text.setText(text.getText()+"0"); //把监听的到的数0传进文本框

text.requestFocus(); //文本框获得焦点

}

});

/********设置1键****************/

final JButton b1 = new JButton("1"); //新建按钮1

window.add(b1); //把1键添加到窗口中

b1.setBounds(10,233,72,50); //设置1键的位置

b1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口定义好的 ActionEvent类型 e是参数名

{

text.setText(text.getText()+"1"); //把监听的到的数1传进文本框

text.requestFocus(); //文本框获得焦点

}

});

/***********设置2键*****************/

final JButton b2 = new JButton("2");

b2.setBounds(82,233,72,50); //设置2键的位置

window.add(b2); //把2键添加到窗口中

b2.addActionListener(new ActionListener()

{

监听器接口

{

text.setText(text.getText()+"2");

text.requestFocus(); //文本框获得焦点

}

});

/********设置3键****************/

final JButton b3 = new JButton("3");

b3.setBounds(154,233,72,50); //设置3键的位置

window.add(b3); //把3键添加到窗口中

b3.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"3");

text.requestFocus();

}

});

/*********设置4键***************/

final JButton b4 = new JButton("4");

b4.setBounds(10,183,72,50); //设置4键的位置

window.add(b4); //把4键添加到窗口中

b4.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"4");

text.requestFocus();

}

});

/*********设置5键*************/

final JButton b5 = new JButton("5");

b5.setBounds(82,183,72,50); //设置5键的位置

window.add(b5); //把5键添加到窗口中

b5.addActionListener(new ActionListener()

{

听器接口

{

text.setText(text.getText()+"5");

text.requestFocus(); //文本框获得焦点

}

});

/********设置6键***************/

final JButton b6 = new JButton("6");

b6.setBounds(154,183,72,50); //设置6键的位置

window.add(b6); //把6键添加到窗口中

b6.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"6");

text.requestFocus();

}

});

/*********设置7键**************/

final JButton b7 = new JButton("7");

b7.setBounds(10,135,72,50); //设置7键的位置

window.add(b7); //把7键添加到窗口中

b7.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"7");

text.requestFocus();

}

});

/**********设置8键***************/

final JButton b8 = new JButton("8");

b8.setBounds(82,135,72,50); //设置8键的位置

window.add(b8); //把8键添加到窗口中

b8.addActionListener(new ActionListener()

{

听器接口

{

text.setText(text.getText()+"8");

text.requestFocus(); //文本框获得焦点

}

});

/***********设置9键**************/

final JButton b9 = new JButton("9");

b9.setBounds(154,135,72,50); //设置9键的位置

window.add(b9); //把9键添加到窗口中

b9.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"9");

text.requestFocus(); //文本框获得焦点}

});

/***********设置加法键**************/

final JButton Add = new JButton("+");

Add.setBounds(154,283,72,50); //设置加法键的位置

window.add(Add); //把加号键添加到窗口中

Add .addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"+");

text.requestFocus(); //文本框获得焦点

}

});

/***********设置减法键**************/

final JButton Sub = new JButton("-");

Sub.setBounds(298,183,80,50); //设置减法键的位置

window.add(Sub); //把减号键添加到窗口中

Sub.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

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

text.requestFocus(); //文本框获得焦点

}

});

/***********设置乘法键**************/

final JButton Multi = new JButton("*");

Multi.setBounds(226,183,72,50); //设置乘法键的位置

window.add(Multi); //把乘号键添加到窗口中

Multi.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

int leng3 = text.getText().length(); //把当前文本框的长度赋值给整形变量leng

if(leng3 >= 1 )

{

text.setText(text.getText()+"*"); //把监听得到的数*好传进文本框

text.requestFocus();

}

else {

JOptionPane.showMessageDialog(null,"您输入的第一个字符为乘号,不符合要求请重新输入:");

text.requestFocus(); //文本框获得焦点

}

}

});

/***********设置除法键**************/

final JButton Div= new JButton("/");

Div.setBounds(226,135,72,50); //设置除法键的位置

window.add(Div); //把除号键添加到窗口中

Div.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监

听器接口

{

int leng4 = text.getText().length();

if(leng4 >= 1 )

{

text.setText(text.getText()+"/");

text.requestFocus(); //文本框

获得焦点

}

else {

JOptionPane.showMessageDialog(null,"您输入的

第一个字符为除号,不符合要求请重新输入:");

text.requestFocus(); //文本

框获得焦点

}

}

});

/***********设置等号键**************/

final JButton equal = new JButton("=");

equal.setBounds(226,283,153,50); //设置等号键的位置

window.add(equal); //把等号键添加到

窗口中

equal .addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监

听器接口

{

ScriptEngineManager sem = new ScriptEngineManager();

ScriptEngine se = sem.getEngineByName("js");

try{

int leng5 = text.getText().length();

if(leng5==0)

{

JOptionPane.showMessageDialog(null, "对不

起,您没有任何输入,请重新输入:");

text.requestFocus(); //

文本框获得焦点

}

else {

String reslut =

se.eval(text.getText()).toString();

text.setText(text.getText()+"="+reslut);

text.requestFocus(); //文

本框获得焦点

}

}catch (ScriptException evt){

JOptionPane.showMessageDialog(null,"表达式错误,请重新输入!");

text.setText(""); //给文本框赋值为空达到清屏作用

text.requestFocus();

//文本框获得焦点

}

}

});

/***********设置小数点键**************/

final JButton point = new JButton(".");

point.setBounds(82,283,72,50); //设置小数点键的

位置

window.add(point); //把小数点键添加

到窗口中

point.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //

监听器接口

{

int leng6 = text.getText().length();

if(leng6 > 0)

{

text.setText(text.getText()+".");

text.requestFocus(); //文本

框获得焦点

}

else {

JOptionPane.showMessageDialog(null,"您输入的

第一个字符为小数点,不符合要求请重新输入:");

text.requestFocus(); //文本

框获得焦点

}

}

});

/***********设置左括号键**************/

final JButton left = new JButton("(");

left .setBounds(226,233,72,50); //设置左括号键的位

window.add(left); //把左括号键添加

到窗口中

left.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

text.setText(text.getText()+"(");

text.requestFocus(); //文本框获得焦

}

});

/***********设置右括号键**************/

final JButton right = new JButton(")");

right.setBounds(298,233,80,50); //设置右括号键的

位置

window.add(right); //把右括号键添

加到窗口中

right.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

int leng7 = text.getText().length();

if(leng7 > 0)

{

text.setText(text.getText()+")");

text.requestFocus();

//文本框获得焦点

}

else

{

JOptionPane.showMessageDialog(null,"您输入的

第一个字符为右括号,不符合要求请重新输入:");

text.requestFocus(); //文

本框获得焦点

}

}

});

/***********设置清屏键**************/

final JButton ce = new JButton("CE");

ce.setBounds(190,90,186,45); //设

置清屏键的位置

window.add(ce); //把

清零键添加到窗口中

ce.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

int leng8 = text.getText().length();

if(leng8 > 0 )

{

text.setText(""); //给文

本框赋值为空达到清屏作用

text.requestFocus(); //文

本框获得焦点

}

else

{

JOptionPane.showMessageDialog(null,"当前以经

为空,无需清屏!");

text.requestFocus(); //文本

框获得焦点

}

}

});

/***********设置退格键**************/

final JButton back = new JButton("Backspace");

back.setBounds(10,90,180,45); //设置退格

键的位置

window.add(back); //把退格键

添加到窗口中

back.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //

监听器接口

{

String message;

int leng = text.getText().length(); //把当前文

本框的长度赋值给整形变量leng

message=text.getText();

if(leng==0)

{

JOptionPane.showMessageDialog(null, "对不起,您没有任何输入无法退格:"); //当退格到没有输入是弹出消息框提示

text.requestFocus(); //文本框获得焦点

}

else

{

text.setText(message.substring(0,leng-1)); //设置文本框的内容没点一次退格减一个数

text.requestFocus(); //文本框获得焦点

}

}

});

final JButton Air = new JButton("%");

Air.setBounds(298,135,80,50); //设置求余键的位置

window.add(Air);

Air.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //监听器接口

{

int leng9 = text.getText().length();

{

if(leng9 > 0)

{

text.setText(text.getText()+"%");

text.requestFocus(); //文本框获得焦点

}

else

{

JOptionPane.showMessageDialog(null,"您输入的第一个字符为求余数,不符合要求请重新输入:");

text.requestFocus(); //文本框获得焦点

}

}

}

});

/*********关闭按钮***********/

window .addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e) //监听器接口

{

System.exit(0);

}

});

window .show();

}

}

java编写的简单计算器代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

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设计一个科学型计算器

题目:设计一个Windows计算器。 摘要 在当今这个网络的时代,我找了好多java的代码材料。修改后程序是一个图形界面的java计算器,其界面主要采用了awt包,程序实现了: (1)实现简单加、减、乘、除的运算。 (2)实现除了加、减、乘、除按钮外其他按钮功能。 (3)给软件添加一个编辑、查看、帮助的主菜单。 (4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。 (5)科学型计算器与标准计算器之间的菜单切换。 关键字:java程序编辑器面向对象计算器 目录 第1章概要设计 (8) 1.标准型计算器界面设计 (8) 第2章程序整体设计说明 (10) 2.1程序中所用到的变量 (10) 2.2程序部分源代码及注释 (11) 3章程序运行效果 (22) 3.程序运行主界面 (22) 3.程序中各按钮运行界面 (24) 3.本章小节 (26) 作业结论 (26) 第1章概要设计 1.1标准型计算器界面设计 1.1.1 JAVA文件的建立 (1)建立一个名称为“java”Java工程, package文件包名称为 :scr;计算器主类:Calculator。 (2)界面的设计:

图1.1标准型计算器界面 图 1.2 图1.3 (3)保持代码简洁 复杂代码写后不易理解,在修改和重写上难度比较大,使工作更加复杂,所以编写代码时应保持代码的简洁易懂。 数字按钮字体和颜色设置 功能按钮字体和颜色设置

(4)功能实现 在整个设计中要保持完整性,能够实现计算器中最基本的功能,如加、减、乘、除等。 1.1.2明确任务 用java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,余数,三角函数,多数连续运算,科学计数法等功能。 第2章程序整体设计说明 2.2 程序部分源代码及注释 (1)复制菜单的功能创建代码如下: (2)粘贴菜单的功能创建代码如下:

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

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 java.awt.event.*; import java.awt.*; import https://www.360docs.net/doc/2d4704284.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

Java科学计算器程序代码

计算器布局显示: 功能举例: ①13+20=33 ②-7*14=-98:先输入7,再单击-/+将其变成负数,然后依次单击×号、14与= ③7!=5040 ④sin30°=0.5:先输入30,然后按下′″按钮转换成角度值,再按下sin即可显示结果 ⑤sqrt(4)=2:利用鼠标点击4后再点击sqrt按键即可显示结果 ⑥2*π=6.2832 …… 源程序如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField;

JAVA编写的计算器源代码

package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();

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计算器源代码(仿win7)

java计算器源代码(仿win7) import java.awt.*; import javax.swing.*; import java.awt.event.*; class Cal extends JFrame implements ActionListener,MouseListener{ JMenuBar menubar; JMenu menu_check,menu_edit,menu_help; JMenuItem menuitem_science,menuitem_check,menuitem_exit,menuitem_copy, menuitem_paste,menuitem1_copy,menuitem1_paste,menuitem_chelp,menuitem_about; JCheckBoxMenuItem menuitem_standard; JTextField ta1; int x,result2; double op1,op2,opall; private boolean end=false,flag=false,add=false,sub=false,cheng=false,chu=false,flagop2=false; JButton b_mc,b_mr,b_ms,b_mjia,b_mjian,b_tui,b_ce,b_c,b_jj, b_dui,b_7,b_8,b_9,b_chu,b_baifenhao,b_4,b_5,b_6,b_cheng, b_daoshu,b_1,b_2,b_3,b_jian,b_0,b_dian,b_jia,b_dengyu; JPanel p_all,p_button1,p_button2,p_txt,p1,p2,p3,p4,p5; private String str,resultstr;

简易计算器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)支持复制和粘贴操作

java课程设计计算器3科学计算器

import javax.swing.*;// 把 javax包里面的swing包里面的所有东西引进来 import java.awt.*;// 导入awt包里的所有java类 import java.awt.event.*;//导入包event import java.text.DecimalFormat;// 处理文本、日期、数字和消息的类和接口 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D; public class biaozhunjisuanqi extends JFrame implements ActionListener {// public代表该类公有 //class声明一个类 // biaozhunjisuanqi为类名 // extends 是继承类 //implements代表实现接口 //窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法 private static final long serialVersionUID = 1L;// serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性 private JPanel jContentPane = null; // 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象 private JPanel jPanel= null; //JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

java课设计算器

java课设计算器 华东交通大学理工学院 课程设计报告书 所属课程名称Java语言程序设计题目简单计算器设计 分院电信分院 专业班级12通信工程1班学号212 学生姓名 指导教师 2014 年6 月20日

java课设计算器 目录 第1章计算器机要求及内 容 (3) 第2章计算器设计............................................................. 4 第3章计算器程序代码 (14) 第4章计算器测试............................................................. 49 第5章课程设计心 得 (53) 第6章参考文献.............................................................. ....54第1章计算器内容及要求 一设计内容: 1. 实现基本的加减乘除法的运算; 2 实现常用的函数计算功能;

3. 实现将系统时间在界面上显示; 4. 实现菜单对计算器的关闭、开启及设置运算法则的操作。 二设计要求 1.使用菜单控制计算器界面的显示,关闭; 2.使用菜单控制运算的法则; 3.使用菜单显示函数运算窗口及运算; 4.数据采用手工输入方式; 5.对异常的数据进行异常处理,比如1/0的情况。

第2章计算器设计 一.设计模式 采用MVC设计模式,将模型,视图,控制分别单独完成。在模型中将视图,控制添加到其中,再分别完成视图的,控制的程序。 二.结构设计 在界面中分为四个视图的组件,控制分为按钮事件,菜单选择事件,以及键盘输入控制事件。如图1 图1

JAVA编写的计算器源代码

import class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel(); JButton btBk = new JButton(" Backspace"); JButton btCe = new JButton("Ce"); JButton btCl = new JButton("C"); JButton bt7 = new JButton("7"); JButton bt8 = new JButton("8"); JButton bt9 = new JButton("9"); JButton btDiv = new JButton("/"); JButton btSqrt = new JButton("sqrt"); JButton bt4 = new JButton("4"); JButton bt5 = new JButton("5"); JButton bt6 = new JButton("6"); JButton btMult = new JButton("*"); JButton btMol = new JButton(" % "); JButton bt1 = new JButton("1"); JButton bt2 = new JButton("2"); JButton bt3 = new JButton("3"); JButton btMinu = new JButton("-"); JButton btCoun = new JButton(" 1/x");

java简单计算器源代码

package calcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { “=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;“=”,注册事件监听器,设置1行3列的布局,添加到到西边的面板buttonzero=new JButton("0"); buttondot=new JButton("."); buttonequal=new JButton("="); (h); (h); (h); (new GridLayout(3,1)); (buttonzero); (buttondot); (buttonequal); ; }

if()==buttontozero){//归零操作 (""); } if()==buttonzero){//按键0操作 ()+"0"); flag1=());//将文本区域转换成Double类型,赋给flag1 } } else if()==buttontwo){//按键2操作 ()+"2"); flag1=()); } else if()==buttonthree){//按键3操作 ()+"3"); flag1=()); } else if()==buttonfour){//按键4操作 ()+"4"); flag1=()); } else if()==buttonfive){//按键5操作

java课程设计 计算器实际与实现

《面向对象程序设计》 课程设计报告 题目: 计算器设计与实现 专业: 班级: 姓名: 指导教师: 成绩: xx 201x 年 x 月xx 日 xxxxxx

目录 1 设计内容及要求 (1) 1.1设计内容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 设计过程 (2) 3.2系统功能模块 (3) 4 设计结果与分析 (4) 4.1功能模块的划分 (4) 4.2功能模块的实现 (4) 小结 (10) 5 参考文献 (11)

1 设计内容及要求 1.1设计内容 该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,等) 1.2设计任务及具体要求 计算器的设计与实现,使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。在日常生活中经常需要用到计算器,比如科学计算、数字计算、会计业务甚至是日常生活中的一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。 2 概要设计 2.1 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。

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

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

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

用JAVA编写计算器程序(模拟Windows计算器)

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionListener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213);

相关文档
最新文档