文档库 最新最全的文档下载
当前位置:文档库 › Java实现简易计算器

Java实现简易计算器

Java实现简易计算器
Java实现简易计算器

Java实训作业

题目:Java实现简易计算器

学院:

姓名:

学号:

班级:

20 年月

一、实验目的

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

二、实验要求

用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。

三、详细内容

1.界面设计

界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:

图1-1

其中主要代码为:

public mainWindow(){

this.setTitle("计算器");//用户图形界面标题

this.setVisible(true);//用户图形界面可缩小

this.setResizable(false);//用户图形界面不可放大

this.setSize(350,300);//设置用户图形界面的大小

this.setLocation(400,150);//用户图形界面在屏幕中的显示位置

JPanel panel1 = new JPanel();//新建一个画板

JPanel panel2 = new JPanel();

button1 = new JButton("1");

...

reset = new JButton("CE");

Container container = this.getContentPane();

container.add(panel2,BorderLayout.NORTH);

container.add(panel1);

panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列

result.setEnabled(false);

result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小

result.setEditable(false);

result.setHorizontalAlignment(SwingConstants.RIGHT);

panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小

reciprocal.setFont(new Font("Dialog",Font.PLAIN,20));

...

panel1.add(divide);

divide.setFont(new Font("Dialog",Font.PLAIN,20));

panel2.setLayout(new GridLayout());

panel2.add(result);//画板panel2添加运算结果

2.四则运算

较为简单的实现了简单的加、减、乘、除运算,主要代码如下:

ActionListener equal1 = new ActionListener(){ //实现四则运算

public void actionPerformed(ActionEvent e){

String str = result.getText();

b = DatatypeConverter.parseDouble(str);{

if(flag == "+")

c = a + b;

else if(flag == "-")

c = a - b;

else if(flag == "*")

c = a * b;

else if(flag == "/" || b != 0)

c = a / b;

}

if(flag != "=")

result.setText("" + c);

else

result.setText("零不能做除数!");

a = 0;

b = 0;

c = 0;

flag = "";

}

};

3.其他功能

另外添加了平方根,倒数,平方等功能,主要代码如下:

平方根运算的实现:

ActionListener sqrt1= new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = Math.sqrt(i);

result.setText("" + i);

}

};

倒数运算的实现:

ActionListener reciprocal1 = new ActionListener(){ public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = 1/i;

result.setText("" + i);

}

};

平方运算的实现:

ActionListener square1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = i*i;

result.setText("" + i);

}

};

4.程序测试

经测试发现本计算器基本功能均能实现,可正常运行计算,针对功能实现的代码部分过于简单,可以对其进行改善提高,方便用户使用!

5.实训小结

通过对计算器窗体的编写,熟悉了java图形用户界面的设计原理和程序结构,熟悉了java中awt和swing的组合。学会将书本上的知识运用在实际中,提升了编程能力。

四、源代码

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Container;

import java.awt.Font;

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;

import javax.swing.SwingConstants;

import javax.xml.bind.DatatypeConverter;

public class Calculator{

public static void main(String[] args){

new mainWindow();//新建主类调用

}

}

class mainWindow extends JFrame{

JTextField result = new JTextField("0");//结果栏用于存储运算结果JButton button0;//按钮0

JButton button1;//按钮1

JButton button2;//按钮2

JButton button3;//按钮3

JButton button4;//按钮4

JButton button5;//按钮5

JButton button6;//按钮6

JButton button7;//按钮7

JButton button8;//按钮8

JButton button9;//按钮9

JButton reciprocal;//倒数按钮

JButton square;//平方按钮

JButton sqrt;//平方根按钮

JButton reset;//清零按钮

JButton add;//加法按钮

JButton reduce;//减法按钮

JButton multiply;//乘法按钮

JButton divide;//除法按钮

JButton equal;//等号按钮

JButton point;//小数点按钮

double a,b,c;

String flag;

public mainWindow(){

this.setTitle("计算器");//用户图形界面标题

this.setVisible(true);//用户图形界面可缩小

this.setResizable(false);//用户图形界面不可放大

this.setSize(350,300);//设置用户图形界面的大小

this.setLocation(400,150);//用户图形界面在屏幕中的显示位置

JPanel panel1 = new JPanel();//新建一个画板

JPanel panel2 = new JPanel();

button1 = new JButton("1");

button2 = new JButton("2");

button3 = new JButton("3");

button4 = new JButton("4");

button5 = new JButton("5");

button6 = new JButton("6");

button7 = new JButton("7");

button8 = new JButton("8");

button9 = new JButton("9");

button0 = new JButton("0");

reciprocal = new JButton("1/X");

square = new JButton("X^2");

sqrt = new JButton("√ ̄");

add = new JButton("+");

reduce = new JButton("-");

multiply = new JButton("*");

divide = new JButton("/");

equal = new JButton("=");

point = new JButton(".");

reset = new JButton("CE");

Container container = this.getContentPane();

container.add(panel2,BorderLayout.NORTH);

container.add(panel1);

panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列

result.setEnabled(false);

result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小

result.setEditable(false);

result.setHorizontalAlignment(SwingConstants.RIGHT);

panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小

reciprocal.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(square);

square.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(sqrt);

sqrt.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(reset);

reset.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button7);

button1.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button8);

button2.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button9);

button3.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(add);

add.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button4);

button4.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button5);

button5.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button6);

button6.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(reduce);

reduce.setFont(new Font("Dialog",Font.PLAIN,25));

panel1.add(button1);

button7.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button2);

button8.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button3);

button9.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(multiply);

multiply.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(button0);

button0.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(point);

point.setFont(new Font("Dialog",Font.PLAIN,20));

panel1.add(equal);

equal.setFont(new Font("Dialog",Font.PLAIN,25));

equal.setForeground(Color.red);//将等号设置为红色

panel1.add(divide);

divide.setFont(new Font("Dialog",Font.PLAIN,20));

panel2.setLayout(new GridLayout());

panel2.add(result);//画板panel2添加运算结果

button0.addActionListener(al0);//设置20个按钮的监听事件

button1.addActionListener(al1);

button2.addActionListener(al2);

button3.addActionListener(al3);

button4.addActionListener(al4);

button5.addActionListener(al5);

button6.addActionListener(al6);

button7.addActionListener(al7);

button8.addActionListener(al8);

button9.addActionListener(al9);

reciprocal.addActionListener(reciprocal1);

square.addActionListener(square1);

sqrt.addActionListener(sqrt1);

reset.addActionListener(reset1);

add.addActionListener(add1);

point.addActionListener(point1);

multiply.addActionListener(multiply1);

divide.addActionListener(divide1);

equal.addActionListener(equal1);

reduce.addActionListener(reduce1);

}

ActionListener al0 = new ActionListener(){ //各个按钮的监听事件实现运算

public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "0");

}

};

ActionListener al1 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "1");

}

};

ActionListener al2 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "2");

}

};

ActionListener al3 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "3");

}

};

ActionListener al4 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "4");

}

};

ActionListener al5 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "5");

}

};

ActionListener al6 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "6");

}

};

ActionListener al7 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "7");

}

};

ActionListener al8 = new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = result.getText();

result.setText(str + "8");

}

};

ActionListener al9 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

result.setText(str + "9");

}

};

ActionListener sqrt1= new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = Math.sqrt(i);

result.setText("" + i);

}

};

ActionListener reciprocal1 = new ActionListener(){ public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = 1/i;

result.setText("" + i);

}

};

ActionListener square1 = new ActionListener(){ public void actionPerformed(ActionEvent e){

String str = result.getText();

double i = DatatypeConverter.parseDouble(str);

i = i*i;

result.setText("" + i);

}

};

ActionListener multiply1 = new ActionListener(){ public void actionPerformed(ActionEvent e){

String str = result.getText();

a = DatatypeConverter.parseDouble(str);

flag = "*";

result.setText("");

}

};

ActionListener divide1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

a = DatatypeConverter.parseDouble(str);

flag = "/";

result.setText("");

}

};

ActionListener add1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

a = DatatypeConverter.parseDouble(str);

flag = "+";

result.setText("");

}

};

ActionListener reduce1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

a = DatatypeConverter.parseDouble(str);

flag = "-";

result.setText("");

}

};

ActionListener reset1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

result.setText("0");

}

};

ActionListener point1 = new ActionListener(){

public void actionPerformed(ActionEvent e){

String str = result.getText();

result.setText(str + ".");

}

};

ActionListener equal1 = new ActionListener(){ //实现四则运算public void actionPerformed(ActionEvent e){

String str = result.getText();

b = DatatypeConverter.parseDouble(str);{

if(flag == "+")

c = a + b;

else if(flag == "-")

c = a - b;

else if(flag == "*")

c = a * b;

else if(flag == "/" || b != 0)

c = a / b;

}

if(flag != "=")

result.setText("" + c);

else

result.setText("零不能做除数!");

a = 0;

b = 0;

c = 0;

flag = "";

}

};

}

简单计算器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实现计算器课程设计 计算机科学系 计应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图形化界面实现简单计算器

学号 天津城建大学 Java 语言程序设计C 实验报告 实验5:计算器 学生姓名路江飞 班级11卓越7班 一、实验目的 1.掌握Java图形组件与布局管理器的使用; 2.掌握使用Java事件处理机制的使用; 3.掌握图形界面的各种控件的使用,如:标签、文本框、按钮、复选框、列表框、窗框等。 二、实验要求 1.采用布局管理器进行界面的布局; 2.学会对不同的事件用相应的事件处理器; 3.写出实验报告。要求记录编译与执行Java程序当中的系统错误信息提材示,并给出解决办法。 三、实验内容 1.在随堂练习的简单计算器基础上设计一个多功能计算器。包括复杂的功能:比如记忆功能,三角函数,成方,对数等等。 五、实验结果 文件1: package computer; import java、awt、BorderLayout; public class Compuer extends JFrame { private JPanel contentPane; private JTextField textField; private JTextField textField_1;

private JTextField textField_2; private JTextField textField_3; /** * Launch the application、 */ public static void main(String[] args) { EventQueue、invokeLater(new Runnable() { public void run() { //运行程序时,点击按钮输入公式,当点击等于号时显示出计算结果 try { Compuer frame = new Compuer(); frame、setVisible(true); Time time=new Time(); time、setTime(frame、textField_3); Thread thread=new Thread(time); thread、start(); } catch (Exception e) { e、printStackTrace(); } } }); } /** * Create the frame、 */ public Compuer() { setTitle("\u8BA1\u7B97\u5668"); setName(""); final StringBuffer s=new StringBuffer(); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100, 100, 412, 448); contentPane = new JPanel(); contentPane、setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane、setLayout(null); textField = new JTextField(); textField、setEnabled(false); textField、setLocale(Locale、UK); textField、setForeground(Color、PINK); textField、setText(" \u6B22\u8FCE\u4F7F\u7528\u8BA1\u7B97\u5668"); textField、setBounds(10, 20, 368, 30); contentPane、add(textField);

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实训报告

实训报告书实训名称: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)乘法

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程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

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

目录 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编写的加法计算器

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author asus */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator implements ActionListener { JFrame sb; String s1,s2; int T1,T2,T3; JTextField t1,t2,t3; JLabel jl1,jl2; public Calculator() { sb=new JFrame("加法计算器"); sb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); sb.setSize(260,100); Container a=sb.getContentPane(); a.setLayout(new FlowLayout()); t1=new JTextField(5); t2=new JTextField(5); t3=new JTextField(5); t1.setEditable(true); t2.setEditable(true); t3.setEditable(false); jl1=new JLabel("+"); jl2=new JLabel("="); JButton he=new JButton("求和"); he.addActionListener(this); a.add(t1); a.add(jl1); a.add(t2); a.add(jl2); a.add(t3); a.add(he);

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写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; 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.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialV ersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); }

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.wendangku.net/doc/3011767310.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简单计算器源代码

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实现简易计算器 学院: 姓名: 学号: 班级: 20 年月

一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。 二、实验要求 用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。 三、详细内容 1.界面设计 界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:

图1-1 其中主要代码为: public mainWindow(){ this.setTitle("计算器");//用户图形界面标题 this.setVisible(true);//用户图形界面可缩小 this.setResizable(false);//用户图形界面不可放大 this.setSize(350,300);//设置用户图形界面的大小 this.setLocation(400,150);//用户图形界面在屏幕中的显示位置 JPanel panel1 = new JPanel();//新建一个画板 JPanel panel2 = new JPanel(); button1 = new JButton("1"); ... reset = new JButton("CE"); Container container = this.getContentPane(); container.add(panel2,BorderLayout.NORTH); container.add(panel1); panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列 result.setEnabled(false); result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小 result.setEditable(false); result.setHorizontalAlignment(SwingConstants.RIGHT); panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小 reciprocal.setFont(new Font("Dialog",Font.PLAIN,20)); ... panel1.add(divide);

Java实现简易计算器

Java实训作业 题目:Java实现简易计算器 学院: 姓名: 学号: 班级: 20 年月

一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。 二、实验要求 用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。 三、详细内容 1.界面设计 界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示: 图1-1

其中主要代码为: public mainWindow(){ this.setTitle("计算器");//用户图形界面标题 this.setVisible(true);//用户图形界面可缩小 this.setResizable(false);//用户图形界面不可放大 this.setSize(350,300);//设置用户图形界面的大小 this.setLocation(400,150);//用户图形界面在屏幕中的显示位置 JPanel panel1 = new JPanel();//新建一个画板 JPanel panel2 = new JPanel(); button1 = new JButton("1"); ... reset = new JButton("CE"); Container container = this.getContentPane(); container.add(panel2,BorderLayout.NORTH); container.add(panel1); panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列 result.setEnabled(false); result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小 result.setEditable(false); result.setHorizontalAlignment(SwingConstants.RIGHT); panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小 reciprocal.setFont(new Font("Dialog",Font.PLAIN,20)); ... panel1.add(divide); divide.setFont(new Font("Dialog",Font.PLAIN,20)); panel2.setLayout(new GridLayout()); panel2.add(result);//画板panel2添加运算结果 2.四则运算 较为简单的实现了简单的加、减、乘、除运算,主要代码如下:

JavaSwing计算器设计

JavaSwing计算器设计 《java程序设计》课程设计报告 课题名称:GUI计算器设计 略 …… 略 提交报告时间:2008 年12 月20 日1. 课程设计题目 基于GUI的计算器设计 2. 课程设计目的 1. 巩固和加深课堂所学知识; 2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力; 3. 通过对java语言程序代码的阅读、修改、设计,理解和掌握复杂的java语言应用程序的编程,提高实践编程能力。

3. 程序运行环境及开发工具 本程序在Windows XP的PC机上利用Jbuilder9.0的软件开发实现,在Windows XP平台上Jbuilder9.0及Eclipse环境中运行通过。 4. 程序功能使用说明 运行该程序后,参与运算的操作数可有鼠标点击相应按钮输入,也可有键盘输入,但操作符应有鼠标点击相应的按钮,当: 1.在简易计算中可以按照常规输入计算,基本无bug, “%”未设置其用途; 2.简易计算中,可以进行+、-、*、/、乘方(^)、开方(√)及阶乘(!)运算; 3.科学计算中有许多功能为实现,主要能进行加、减、乘、除、乘方、开方、幂、开n次方、倒数、阶乘、ln、e的x 次幂、三角函数等高级运算; 4.例如: (1). 1 + 9 = 10 (2). 25 + -8 = 17 (3). 98 - 35 = 63 (4). 96 * 2 = 192 (5). 96 / 4 = 24 (6). 4 ^ 3 = 64

(7). 100 √ = 10 (8). -9 √ = 不能执行此操作!! (9). 20 ! = 2432902008176640000 (10). -20 ! = 不能执行此操作!! (11). 0 ! = 1 (12). 8 ln = 2.0794415416798357 (13). 2 Exp = 7.38905609893065 (14). 8 x^y 3 = 512 (15). 20 x^2 = 400 (16). 100 n!= 933262154439441526816992388562667004907159682643816 214685929638952175999932299156089414639761565182862 536979208272237582511852109168640000000000000000000 00000 (17). 30 sin = 0.49999999999999994(0.5) (求sin30度) 其他(cos,tan)依次类推; (18).1/x计算有bug; (19). 3 x√ 8 = 2 (求8开3

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 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。

相关文档
相关文档 最新文档