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

计算器java课程设计一简单计算器学号: 姓名: 班级: 101210109好茨4巒戊《JAVA程序设计》课程设计报告简单计算器卫口Tfp10级计科一班吕海莲___________2012-12-25一、设计内容和要求1、简单计算器模拟程序的基本要求模拟Windows中附件里面的计算器软件,能实现整数的加、减、乘、除四则运算。
2、需要实现的主要功能该计算器模拟程序使用Java的awt包和Swing包的类库设计图形界面的计算器显示用户界面并且使用图形界面中的事件event委托机制来处理事件响应,以及用Java语言设计实现整数的加、减、乘、除四则运算。
(附加功能:淸零和异常处理机制)二、系统分析与概要设计1、面板JPanel txtpanel:用于放置文本框Panel btnpanel:用于放置按钮(0・9 和+,-,*/,=)2、显示部分(1)第一个面板:txtpanel位置以及排列方式BorderLayout.NORTHtxtpanel.add(txtinput):添加文本框到txtpanel 面板中(2)第二个面板:btnpanel排列方式:setLayout(gl)3、基本按钮btnpanel.add(b5);btnpanel.add(bl); btnpanel.add( multiply) btnpanel.add(b4) btnpanel.add(b6) btnpanel.add(divide)btnpaneLadd(bO) .add(bdes) btnpaneLadd(equal); btnpaneLadd(subtract)以上是在第二个面板btnpanelH中添加的0到9和+,-,*/,=的按钮。
4、附加功能(1)“清零”:用于清空文本框和下一次的运算(2)“异常处理”除数为零:当除数为零时,弹出“除数不能为零”窗体错误输入:当只单击运算符时,弹出“错误输入”窗体三、详细设计和编码1、总体功能图1、类的定义及关系Jsq类继承JFrame类创建主界面,在主界面上由文本框JTextField和JButton 组件构成,JTextField和JButton组件分别放置在两个不同的面板JPanel 上,同时利用按钮注册监听器,获取事件源。
java课程设计报告_简单图形界面计算器的设计

//除号
d1 = Double.parseDouble(jTextField1.getText());
flag = true;
op = "/";
}
“%”取余运算
private void jButton24ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//乘号
d1 = Double.parseDouble(jTextField1.getText());
flag = true;
op = "*";
}
“/”号的控制
private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {
flag = false;
}
“±”号的加入
private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//点号
if(jTextField1.getText().equals("")||flag == true)
jTextField1.setText("0.");
else
jTextField1.setText(jTextField1.getText()+".");
// TODO add your handling code here:
Java课程设计报告计算器

Java课程设计报告-计算器第一部分设计的内容要求1.1 Windows自带计算器版面设计1.2计算器计算功能算法实现第二部分设计思想2.1根据图形用户界面设计方法设计计算器版面。
①容器类(窗口--Window类,面板--Panel类),框架类--Frame,Button类,Label类,TextField类等类的构造方法,菜单(菜单栏、菜单项)的建立于应用。
②事件处理机制:监听器类WinClose(),actionPerformed()。
2.2计算器计算功能实现,即按钮监听器的实现自定义变量:x,y为操作数,op为操作符。
根据单击按钮不同进行不同的操作,详见处理按钮单击事件方法actionPerformed(ActionEvent e)(计算功能算法)流程图。
第三部分详细设计3.2处理按钮单击事件方法actionPerformed(ActionEvent e)(计算器计算功能算法)流程图:第四部分运行效果图4.1运行初始图:4.2 计算功能测试图:-1+23.4 将textp中数据赋给yN Y单击”1”~”9”将单击数字插入到textp中数据后,并将textp中数据赋给y 将textp赋0,并str.stelength(0);结束4.2 数学分组功能测试图:第五部分心得与体会5.1 Java是一门实践性很强的编程语言,每学习到一个新的知识点应当及时动手编写程序,提高动手能力,加深对语言的理解。
5.2 根据Java图形用户界面设计方法设计计算器版面有很多种设计方法,学习过程中应灵活变通,使版面的设计更简单易懂。
5.3 本次设计的计算器还有不足之处,首先还没有实现科学型的计算功能,其次还没有键盘输入功能,因此还应继续努力,更加完善计算器的功能。
第六部分附录6.1计算器计算功能算法(按钮"="):if(e.getSource()==b26) // "="{str.setLength(0);switch(op){case 0 :if(flag==1)textp.setText(String.valueOf(x+y));else{str.setLength(0);str.append(x+y);fun();}break;case 1 :if(flag==1)textp.setText(String.valueOf(x-y)); else{str.setLength(0);str.append(x-y);fun();}break;case 2 :if(flag==1)textp.setText(String.valueOf(x*y)); else{str.setLength(0);str.append(x*y);fun();}break;case 3 :if(y==0){textp.setText("除数不能为零");str.setLength(0);y=0;}else{if(flag==1)textp.setText(String.valueOf(x/y)); else{str.setLength(0);str.append(x/y);fun();}}break;}}6.2 fun()函数(数学分组功能)public void fun(){flag=0;int t=0;StringBuffer temp;String sstr=str.toString();if(sstr.trim().indexOf("-")==1){temp=new StringBuffer(str.substring(1));t=1;}elsetemp=new StringBuffer(str.substring(0));if(sstr.trim().indexOf(".")==-1){int j=temp.length();for(int i=j;i>3;){temp.insert(i-3,",");i=i-3;}if(t==0)textp.setText(temp.toString());elsetextp.setText('-'+temp.toString());}else{int i=sstr.indexOf('.');StringBuffer s1=new StringBuffer(sstr.substring(0,i));StringBuffer s2=new StringBuffer(sstr.substring(i+1));for(int j=s1.length();j>3;){s1.insert(j-3,",");j=j-3;}if(t==0)textp.setText(s1.toString()+'.'+s2.toString());elsetextp.setText('-'+s1.toString()+'.'+s2.toString());}}。
java计算器设计报告

设计报告课题名称:计算器设计学院:专业班级:学号:学生:指导教师:教务处年月日学生指导教师课题名称JAVA计算器课程设计设计时间设计地点设计目的图形界面设计,熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。
从而检测对这门课的掌握情况,有助于及时查漏补缺。
1.1功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。
(2)减法两个数据进行减操作,可以为负数相减。
(3)乘法两个数相乘操作。
(4)除法两个数相除操作。
(5)开平方对任意一个数进行开方运算,可以是小数。
(6)百分号对任意一个数进行百分号运算。
(7)倒数对任意一个数进行倒数运算。
1.2标准计算器界面(图1-1)图1-1 1.3系统功能图(图1-2)2标准计算器演示(1)启动计算器(图2-1)图2-1(2)加法、乘法运算分别输入9和3然后分别计算其加法、乘法运算(图2-2,图2-3)图2-2(加法运算)图2-3(乘法运算)(3)开平方运算sqrt(图2-4)图2-4(4)百分号运算%(图2-5)图2-5(5)倒数运算1/x(图2-6)图2-63程序设计过程中的问题该设计目前还不太完整全面,在测试时有以下问题:1.在进行aqrt 、%、 1/x这三个运算后再输入数据就在文本框中继续输入,不能重新输入。
需要按下清零键才可继续输入下一数据再进行运算。
2.菜单栏中虽然设计了“查看—标准型、科学型、数字分组”以及“帮助—帮助主题、关于计算器”可是其功能并没有时间。
3.该计算器设计了有关内存的操作,可是并没有达到预期中的效果。
java课程设计计算器

中文摘要该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。
即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
可以进行简单的四则运算(加、减、乘、除,等)。
其中C表示清零,界面简洁使用方便。
目录一、课程设计任务及要求 (1)二、需求分析 (2)三、设计思路 (3)四、详细设计 (5)五、运行调试与分析讨论 (11)六、设计体会与小结 (14)七、参考文献 (15)一、课程设计任务及要求设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。
且有小数点、正负号、求倒数、退格和清零功能。
二、需求分析在日常生活中经常要用到计算器,比如科学计算器、数值计算、会计业务等,在Applet中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。
本次实验要求实现一个具有四则运算的计算器,拥有加、减、乘、除功能,并且还要求具备清零等功能。
三、设计思路本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。
包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。
同时注册按钮事件监听器。
如:Button b=new Button();b.addActionListener(事件监听器);事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。
事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。
JAVA课程设计简单的计算器(含代码)

Java程序课程设计任务书一、主要任务与目标1. 掌握java语言2. 创建一个简单的计算器,具有简单人机交互界面,易于操作,便于进行数据之间的简单运算。
二、具体要求(包括技术要求等):1)能够实现基本的加、减、乘、除四则运算及开方,乘方运算;2)如输入数据时,出现错误,可以修改;3)运算结果能正确显示;可以清零;4)拥有登陆注册功能;5)可以查看历史记录;学习并掌握以下技术:Java、awt,swing等熟练使用以下开发工具:Jdk,JCreate 等实现计算器的上述的功能。
三、计划进度1.12月28日—12月29日:搜集资料、查阅文献,确定选题2.12月30日--12月31日:需求分析,系统设计,系统功能模块完善3.1月1日--1月3日:编程实现系统、系统测试与修改4.1月4日-- 1月6日:课程设计报告撰写5.1月7日-- 1月8日:课程设计报告答辩四、主要参考文献[1] 耿祥义,张跃平.java大学实用教程(第二版).电子工业出版社.2008年5月目录JA V A程序课程设计任务书 (I)目录 (II)第1章引言 (1)1.1课程设计内容 (1)1.2任务分工 (1)第2章计算器定义 (2)2.1计算器登陆注册界面概述 (2)2.1.1 计算器功能概述 (2)2.1.2 计算结果的储存与查看功能概述 (2)2.2本章小结 (2)第3章计算器的具体实现 (3)3.1界面设计 (3)3.1.1用户登陆界面图 (3)3.1.3 计算器主界面 (8)3.2计算功能实现 (9)3.4本章小结 (14)第4章结束语 (14)致谢 (15)参考文献 (15)附录源代码 (15)/****************引用数据包里的类与方法******************************/ (15)第1章引言1.1 课程设计内容这是我组设计的计算器会有一些独特的功能,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个功能:(1)数据计算处理功能点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除四则运算及三角函数,开方,乘方运算;如果输入有误时可以按C撤销后重新输入新数据,有储存修改键;(2)查询功能查询功能可以迅速方便地查找到相应时段的执行的操作及结果。
java实验报告计算器

java实验报告计算器Java实验报告:计算器引言:计算器是我们日常生活中常用的工具之一,它能够帮助我们进行各种数学运算,提高计算的效率。
本实验旨在使用Java编程语言设计和实现一个简单的计算器,通过实践来加深对Java语言和面向对象编程的理解。
一、需求分析在设计计算器之前,我们首先需要明确计算器的功能需求。
一个基本的计算器应该包括加、减、乘、除四种基本运算,同时还应该具备清零、取反、百分比等附加功能。
在本实验中,我们将实现这些基本功能,并尝试添加一些额外的功能,如开根号、求平方等。
二、设计思路1. 用户界面设计我们可以使用Java的图形用户界面(GUI)库来设计计算器的界面。
可以使用按钮来表示数字和运算符,使用文本框来显示计算结果。
2. 数据结构设计为了实现计算器的功能,我们需要设计一个合适的数据结构来存储用户输入的数字和运算符。
可以使用栈(Stack)数据结构来实现这个功能。
当用户按下数字按钮时,将数字入栈;当用户按下运算符按钮时,将运算符入栈。
当用户按下等号按钮时,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。
3. 运算逻辑设计计算器的运算逻辑可以使用逆波兰表达式来实现。
逆波兰表达式是一种不需要括号的数学表达式表示方法,通过后缀表达式的形式来表示运算符的优先级。
在计算器中,我们可以使用栈来实现逆波兰表达式的计算。
三、实验步骤1. 创建一个Java项目,并导入GUI库。
2. 设计计算器的用户界面,包括按钮和文本框。
3. 实现按钮的点击事件,根据用户输入的数字和运算符来更新栈的状态。
4. 实现等号按钮的点击事件,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。
5. 实现清零、取反、百分比等附加功能的按钮点击事件。
6. 运行程序,测试计算器的各项功能是否正常。
四、实验结果与分析经过测试,我们的计算器能够正常地进行加、减、乘、除等基本运算,并且附加功能也能正常使用。
通过这个实验,我们不仅学习了Java语言的基本语法和面向对象编程的思想,还加深了对数据结构和逆波兰表达式的理解。
java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文第一篇:java实验报告——简单计算器的编写JAVA实验报告——简单计算器的编写班级:学号:姓名:一、实验目的1.掌握java图形用户界面(GUI)的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.掌握常用组件的事件接口4.应用awt和swing组件进行应用程序设计二、实验条件1.计算机一台2.java软件开发环境三、实验步骤1、编写代码:mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID =-***457Lprivate class WindowCloser extends WindowAdapter {public void windowClosing(WindowEvent we){System.exit(0);}}int i;private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };JButton[] buttons = new JButton[str.length]; JButton reset = new JButton(“CE”); JTextField display = new JTextField(“0”);public JCalculator(){super(“Calculator”);JPanel panel1 = new JPanel(new GridLayout(4, 4)); for(i = 0;i < str.length;i++){buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(“Center”, display);panel2.add(“East”, reset);getContentPane().setLayout(new BorderLayout()); getContentPane().add(“North”, panel2); getContentPane().add(“Center”, panel1);for(i = 0;i < str.length;i++)buttons[i].addActionListener(this);reset.addActionListener(this);display.addActionListener(this); addWindowListener(new WindowCloser()); setSize(800, 800);setVisible(true);pack();}public void actionPerformed(ActionEvent e){ Object target = e.getSource();String label = e.getActionCommand();if(target == reset)handleReset();else if(“0123456789.”.indexOf(label)> 0)handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;public void handleNumber(String key){if(isFirstDigit)display.setText(key);else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))display.setText(display.getText()+ “.”);else if(!key.equals(“.”))display.setText(display.getText()+ key);isFirstDigit = false;}public void handleReset(){display.setText(“0”);isFirstDigit = true;operator = “=”;}double number = 0.0;String operator = “=”;public void handleOperator(String key){if(operator.equals(“+”))number += Double.valueOf(display.getText());else if(operator.equals(“-”))number-= Double.valueOf(display.getText());else if(operator.equals(“*”))number *= Double.valueOf(display.getText());else if(operator.equals(“/”))number /= Double.valueOf(display.getText());else if(operator.equals(“=”))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args){new JCalculator();} }2、运行结果,见截图计算测试:123+456=579结果正确,程序无误。
Java实验报告_图形化界面计算器

封面/lzj,2015/11/29Java实验报告--图形化界面计算器计算机22班清哥荡漾2120505047目录封面/lzj,2015/11/29 ..................................................................................................................- 1 - 目录 ..............................................................................................................................................- 2 -一、实验要求.......................................................................................................................- 3 -二、实验流程.......................................................................................................................- 3 -1. 需求分析.......................................................................................................................- 3 -2. 概要设计.......................................................................................................................- 3 -3. 详细设计.......................................................................................................................- 4 -3-1.代码结构 .............................................................................................................- 4 -3-2.结构说明 .............................................................................................................- 4 -4. 编码实现.......................................................................................................................- 5 -5. 测试纠错.......................................................................................................................- 5 -三、实验结果.......................................................................................................................- 6 -1. 初始化界面...................................................................................................................- 6 -2. 界面说明.......................................................................................................................- 7 -2-1 显示部分 ...............................................................................................................- 7 -2-2 控制部分 ...............................................................................................................- 8 -3. 结果演示.......................................................................................................................- 8 -3-1 单目运算 ...............................................................................................................- 8 -3-2 双目运算 ...............................................................................................................- 9 -3-3 混合运算 ............................................................................................................ - 10 -3-4 错误演示 ............................................................................................................ - 11 -3-5 保存本地操作结果 ............................................................................................ - 11 -3-6 上传服务器操作演示 ........................................................................................ - 12 -4. 总结结果.................................................................................................................... - 13 -四、总结分析.................................................................................................................... - 13 -五、实验代码.................................................................................................................... - 14 -1. gui包.......................................................................................................................... - 14 -GUI.java ...................................................................................................................... - 14 -DispPanel.java ............................................................................................................ - 15 -CtrlPanel.java ............................................................................................................. - 17 -2. component 包 ........................................................................................................... - 18 -MyButton.java ............................................................................................................ - 18 -MyTestField.java ......................................................................................................... - 18 -3. actionlistener包 ........................................................................................................ - 19 -MyButtonActionListener.java ..................................................................................... - 19 -4. operation包............................................................................................................... - 23 -ArithmeLogic.java ....................................................................................................... - 23 -UploadOperate.java ................................................................................................... - 35 -SavaOparete.java ........................................................................................................ - 35 -5. Main.java .................................................................................................................... - 37 -一、实验要求1.实现图形化界面计算器,完成基本功能2.实现保存计算历史纪录到本地的功能3.实现上传计算历史纪录到服务器的功能二、实验流程1.需求分析1-1.对于基本功能,要求实现图形化界面计算器,则可参照电脑或手机上的计算器进行页面布局,最后加上各种监听器即可。
java编写的计算器设计报告

java编写的计算器设计报告实验7:综合实验二一、试验目的进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。
二、实验要求创建一个界面来实现一个简单的计算器,要求:1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。
2、实现最基本的加、减、乘、除运算,并能得到正确结果。
3、实现连续的运算,小数点的使用,并考虑各种可能导致异常的情况,将程序作完善;4、可以通过关闭按钮实现关闭窗口。
三、实验步骤、结果1、程序代码:import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent; importjava.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class ZhxCacu extends JFrame implements ActionListener { JPanel jpResult = new JPanel();JPanel jpButton = new JPanel();JTextField jtfResult = new JTextField("0");JButton zero = new JButton("0"); //数字键0JButton one = new JButton("1"); //数字键1JButton two = new JButton("2"); //数字键2JButton three = new JButton("3"); //数字键3JButton four = new JButton("4"); //数字键4JButton five = new JButton("5"); //数字键5JButton six = new JButton("6"); //数字键6JButton seven = new JButton("7"); //数字键7JButton eight = new JButton("8"); //数字键8JButton nine = new JButton("9"); // 数字键9JButton plus = new JButton("+");JButton sub = new JButton("-");JButton mul = new JButton("*");JButton div = new JButton("/");JButton equal = new JButton("=");JButton ce = new JButton("ce"); // 置零键JButton point = new JButton(".");JButton tzero = new JButton("00");//com代表敲击运算符,digit代表敲击数字键boolean com = false;boolean digit = false;float total=0;String sum="";int symbol=0;int b,c=0;public ZhxCacu(){// 添加结果输入框并设置对齐方式jpResult.setLayout(new BorderLayout());jpResult.add(jtfResult);jtfResult.setEditable(false);jtfResult.setHorizontalAlignment(SwingConstants.RIGHT); //将组件添加到窗体上this.add(jpResult,"North");this.add(jpButton,"Center");// 定义按钮区域布局管理器为网格布局jpButton.setLayout(new GridLayout(6, 3, 10, 10));// 添加各个按钮键jpButton.add(seven);jpButton.add(eight);jpButton.add(nine);jpButton.add(four);jpButton.add(five);jpButton.add(six);jpButton.add(one);jpButton.add(two);jpButton.add(three);jpButton.add(zero);jpButton.add(tzero);jpButton.add(plus);jpButton.add(sub);jpButton.add(mul);jpButton.add(div);jpButton.add(point);jpButton.add(equal);jpButton.add(ce);one.addActionListener(this);//对1按钮添加监听事件two.addActionListener(this);//对2按钮添加监听事件three.addActionListener(this);//对3按钮添加监听事件four.addActionListener(this);//对4按钮添加监听事件five.addActionListener(this);//对5按钮添加监听事件six.addActionListener(this);//对6按钮添加监听事件seven.addActionListener(this);//对7按钮添加监听事件eight.addActionListener(this);//对8按钮添加监听事件nine.addActionListener(this);//对9按钮添加监听事件zero.addActionListener(this);//对0按钮添加监听事件ce.addActionListener(this);//对置零按钮添加监听事件plus.addActionListener(this);//对+按钮添加监听事件equal.addActionListener(this);//对=按钮添加监听事件sub.addActionListener(this);//对-按钮添加监听事件mul.addActionListener(this);//对*按钮添加监听事件div.addActionListener(this);//对/按钮添加监听事件tzero.addActionListener(this);//对00按钮添加监听事件point.addActionListener(this);//对.按钮添加监听事件pack();//初始化窗体大小最合适大小this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});this.setSize(300,300);this.setVisible(true);}public static void main(String[] args) {// TODO 自动生成方法存根new ZhxCacu();}public void actionPerformed(ActionEvent e) {// TODO 自动生成方法存根//数字if(e.getSource()==one){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("1");com = false;digit = true;}else{sum = jtfResult.getText()+"1"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==two){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("2");com = false;digit = true;}else{sum = jtfResult.getText()+"2"; jtfResult.setText(sum);}}else if(e.getSource()==three){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("3");com = false;digit = true;}else{sum = jtfResult.getText()+"3"; jtfResult.setText(sum);}}else if(e.getSource()==four){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("4");com = false;digit = true;}else{sum = jtfResult.getText()+"4"; jtfResult.setText(sum);}}else if(e.getSource()==five){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("5");com = false;digit = true;}else{sum = jtfResult.getText()+"5"; jtfResult.setText(sum);}}else if(e.getSource()==six){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("6");com = false;digit = true;}else{sum = jtfResult.getText()+"6"; jtfResult.setText(sum);}}else if(e.getSource()==seven){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("7");com = false;digit = true;}else{sum = jtfResult.getText()+"7";jtfResult.setText(sum);}}else if(e.getSource()==eight){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("8");com = false;digit = true;}else{sum = jtfResult.getText()+"8"; jtfResult.setText(sum);}}else if(e.getSource()==nine){if(com||digit==false){//第一次敲击数字按钮jtfResult.setText("9");com = false;digit = true;}else{sum = jtfResult.getText()+"9"; jtfResult.setText(sum);}}else if(e.getSource()==zero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("0");com = false;digit = true;}else{sum = jtfResult.getText()+"0"; jtfResult.setText(sum);if(Float.parseFloat(sum)!=0){}else{if(b==1){sum = jtfResult.getText()+"0"; jtfResult.setText(sum);}elsejtfResult.setText("0");}}}else if(e.getSource()==tzero){if(com||digit==false){//第一次敲击数字按jtfResult.setText("00");com = false;digit = true;}else{sum = jtfResult.getText()+"00";jtfResult.setText(sum);}}else if(e.getSource()==point){if(com||digit==false){//第一次敲击数字按钮b=1;com = true;digit = false;}else if(c==1); else{b=1;sum = jtfResult.getText()+".";jtfResult.setText(sum);c=1;}}//运算else if(e.getSource()==plus){symbol = 1;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==sub){symbol = 2;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==mul){symbol = 3;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==div){symbol = 4;c=0;total = Float.parseFloat(jtfResult.getText()); com = true;digit = false;}else if(e.getSource()==ce){com = true;digit = false;total=0;sum ="0" ;jtfResult.setText(sum);}//=else if(e.getSource()==equal){com = true;digit = false;switch(symbol){case 1:jtfResult.setText(newFloat(total+Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;b reak;case 2:jtfResult.setText(newFloat(total-Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break;case 3:jtfResult.setText(newFloat(total*Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;case 4:if( Float.parseFloat(jtfResult.getText())==0 ){try{throw new Exception();}catch(Exception a){jtfResult.setText("错误~被除数不能为0,请重新输入:");}}elsejtfResult.setText(newFloat(total/Float.parseFloat(jtfResult.getText())).toString());b=0;c =0;break;}digit=false;total = 0;}}}2、界面:四、实验中的问题以及解决方案:1、问题: 被除数为0解决:抛出异常2、问题: 阻止0、小数点在同一数字中重复出现解决: 设置标志,五、总结:1、进一步了解了项目开发的步骤,思路,以及程序的布局和框架结构,尤其是对JAVA的模块化设计有了更为深入的了解。
Java课程设计报告之计算器(原创)

湖南理工学院Java课程设计报告院别: 计算机学院题目:简易计算器专业班级:计科1402班学生姓名:XXX学号:XXXXXXXX指导教师:XXX完成时间:2016年6月1日目录1、课程设计目的 (3)2、设计题目分析 (3)2.1、设计任务 (3)2.2、课程设计要求 (3)3、课程设计内容 (4)3.1、系统总体设计框架 (4)3.2、调试与测试 (4)4、设计心得与总结 (6)5、附录 (7)(1)熟练掌握java面向对象编程,进一步加深对java 语言的理解和掌控。
(2)掌握Java图形界面的实现和相应事件的处理(3)将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。
提高我们适应实际,实践编程的能力。
2、设计题目分析2.1、设计任务利用JAVA语言设计一个简易的计算器,实现加,减,乘,除,平方,开方,数的倒数等功能。
2.2、课程设计要求(1) 对系统进行功能模块分析、控制模块分析正确;(2) 系统设计要实用;(3) 编程简练,可用,具有较好的健壮性;(4) 说明书、流程图要清楚。
3.1、系统总体设计框架3.2、调试与测试包括程序调试过程、数据测试结果分析,测试过程中遇到的主要问题及采取的解决措施;(列出主要问题的出错现象、出错原因、解决方法及效果等)。
问题:出现当输入第一个数据后,再输入第二个数据时,第一个数据没有存储在文本框显示出来解决方法:添加一个static的字符串变量t用于获取和存储文本框上的类容,然后再让文本框获取操作区输入的数据和字符串t的内容。
问题:将文本框的算式字符串变量转换成算式。
解决方法:调用import javax.script.*;里面的eval()方法直接将算式字符串转换成计算式。
待解决问题:当向文本框输入一个数据,然后再连续输入两个运算符号的时候,该计算器并未报错,也没有给出相应的解决方法。
这个问题虽然对程序整体而言并没有什么太大的影响,但却使得程序并不完善,有待改进。
java程序设计报告---设计一个计算器

课程设计课程设计目的设计一个基于Swing的计算器应用程序,完成普通的算术运算。
课程设计要求1.设计的计算器是基于Swing的,可以完成加减乘除和取余运算。
2.增加计算器的日期计算功能,能够计算两个日期之间相距的天数。
(要判断键入的日期格式是否正确,并能正确处理按钮动作事件,同时能够得到正确的计算结果)设计要点主要练习使用布局管理器设计一个计算器的界面,并使用事件监听器处理数据的输入,完成相关的计算。
在面板上可以增加一个算术/日期的转换按钮来选择是普通计算还是日期计算。
以及增加一个清零的按钮CE,用以将显示结果的单行文本域清空,同时将各个参数设置为默认值。
二、总体方案设计日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet 中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。
本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其它的辅助功能;界面简洁适用;要提供主要的设计思路、类的设计,本次设计添加转进制等功能。
本应用程序继承自框架(frame),此程序使用frame布局管理器bordelayout,将单行文本加入相应区域,包含各种按纽的面板buttonpanel加入相应区域还可以将进制转换的面板与单行文本框放一块包含各种按纽的面板buttonpanel采用N行N列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中,同时注册按钮事件监听器。
布局设计好后再添加按钮事件。
对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
四、程序的调试与运行结果说明程序功能实现:使用swing组件和awt图形用户界面以及BroadLayout布局管理器。
通过在按钮的单击事件处理方法中调用类的成员方法calculator()来进行简易计算器的各种运算,并正确实现运算功能。
Java计算器课程设计报告

石家庄职业技术学院课程设计报告计算器应用程序学生姓名:指导教师:系别:专业:年级:论文提交时间:年月日目录一概述 (3)二总体方案设计 (4)三详细设计 (5)四程序的调试与运行结果说明 (7)五课程设计总结 (9)六附录 (10)一概述1.程序具备的功能:(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除);(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。
2.课程设计的主要设计思想对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。
文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。
布局设计好后再添加按钮事件。
对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。
二总体方案设计1.界面设计界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如下:2.功能介绍这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing 组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以按Clear撤销后重新输入新数据三详细设计程序流程图如下:部分代码展示及说明:这段代码主要是对程序的主框架进行相应的设置。
java课程设计 设计一个图形界面的计算器,完成简单的算术运算

java课程设计设计一个图形界面的计算器,完成简单的算术运算2.课设要求要求使用Java语言编写程序,实现基本的加、减、乘、除四种运算,并且要求在图形界面中显示运算过程和结果。
此外,还要求程序具有良好的用户交互性,能够处理用户的输入错误,并给出友好的提示信息。
二、需求分析通过对计算器的功能和用户需求进行分析,我们确定了以下需求:1.支持基本的加、减、乘、除四种运算;2.支持小数和负数的运算;3.支持多次连续运算;4.支持括号运算;5.支持清空、删除和撤销功能;6.支持错误输入的提示和纠正。
三、设计思路我们采用MVC架构设计模式,将程序分为三个模块:模型、视图和控制器。
1.模型:负责进行数学运算,计算结果并返回给控制器;2.视图:负责显示运算过程和结果,以及处理用户的输入;3.控制器:负责将用户输入传递给模型进行计算,并将计算结果传递给视图进行显示。
四、详细设计1.界面设计我们采用Java Swing框架设计图形界面,主要包括以下组件:1)文本框:用于显示运算过程和结果;2)按钮:用于输入数字、运算符和其他功能键;3)菜单栏:用于提供设置和帮助等功能。
2.模型设计我们设计了一个Calculator类,包括以下方法:1)n:加法运算;2)n:减法运算;3)n:乘法运算;4)n:除法运算;5)calculate:根据用户输入的表达式进行计算。
3.控制器设计我们设计了一个Controller类,负责将用户输入传递给模型进行计算,并将计算结果传递给视图进行显示。
Controller 类包括以下方法:1)handleInput:处理用户输入;2)updateView:更新视图。
五、运行调试与分析讨论在开发过程中,我们遇到了一些问题,如括号匹配、小数运算精度等,通过调试和讨论,最终解决了这些问题。
在测试过程中,我们发现程序运行稳定,界面友好,能够满足用户的需求。
六、设计体会与小结通过这次课程设计,我们深入了解了Java语言和GUI编程,掌握了MVC架构设计模式的应用,提高了团队合作和问题解决能力。
Java课程设计----简易计算器

面向对象课程设计(Java)题目:简易计算器专业:电子商务班级:1110025学生姓名:指导老师:2013 年 1月 6日目录一、设计内容 (1)二、设计要求 (1)三、总体设计 (1)四、具体设计 (1)五、程序设计 (6)设计体会与小结 (15)简易计算器设计一、设计内容设计一个图形界面(GUI)的应用程序,完成简单的运算。
通过计算器的编辑来检测和提升自己的java能力,并最终完成课程设计报告。
二、设计要求1、应用自己所学课程知识完成对计算器的基本任务。
2、查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。
3、通过应用java程序编写计算器来提升对简单的图形界面的了解和掌握。
三、总体设计该计算器基本运算没有问题,清零、正负号、求倒数、退格功能都能很好的实现,总体能完成一个计算器的基本功能,但仍有许多地方需要改进,比如小数点的实现所存在的一些问题,虽然在基本的运算过程当中不会造成太大影响,但这依然不能认为是一个很好的计算器,同时,在另一方面,该计算器还没能很好的实现连续计算的功能,必须每次按下等号按钮计算出结果后才能用产生的结果接着进行下一次的计算,改进的方法是在运算符上同时注册Result类,让运算符同时拥有计算结果的功能。
四、具体设计1、程序流程图:2、主要代码展示及说明:总体代码的设计:程序主窗体继承JFrame类,使用24个JBotton按钮实现数字和基本功能,并且分别注册监听,采用6行4列网格布局,完成计算器界面的基本设置,最后对按钮进行计算分析,计算并显示结果。
这段代码主要是对程序的主框架进行相应的设置super("简易计算器");setSize(300,260);this.setLayout(new BorderLayout());jPanel1=new JPanel();jPanel1.setLayout(new GridLayout(1,1)); //一行一列的布局jPanel2=new JPanel();jPanel2.setLayout(new GridLayout(6,4)); //六行四列的布局resultField=new JTextField("0");jPanel1.add(resultField);this.add(jPanel1,BorderLayout.NORTH);this.add(jPanel2,BorderLayout.CENTER);设置数字按钮1到9并添加监控以及符号等的添加监控s1=new JButton(" 1 "); s1.addActionListener(this);s2=new JButton(" 2 "); s2.addActionListener(this);s3=new JButton(" 3 "); s3.addActionListener(this);s4=new JButton(" 4 "); s4.addActionListener(this);s5=new JButton(" 5 "); s5.addActionListener(this); s6=new JButton(" 6 "); s6.addActionListener(this); s7=new JButton(" 7 "); s7.addActionListener(this); s8=new JButton(" 8 "); s8.addActionListener(this); s9=new JButton(" 9 "); s9.addActionListener(this); s0=new JButton(" 0 "); s0.addActionListener(this); b1=new JButton(" + "); b1.addActionListener(this); b2=new JButton(" - "); b2.addActionListener(this); b3=new JButton(" * "); b3.addActionListener(this); b4=new JButton(" / "); b4.addActionListener(this);b5=new JButton(" ^ "); b5.addActionListener(this); b6=new JButton(" 开方 "); b6.addActionListener(this); b7=new JButton(" % "); b7.addActionListener(this);b8=new JButton(" x! "); b8.addActionListener(this);b9=new JButton(" 1/x "); b9.addActionListener(this);f1=new JButton(" . "); f1.addActionListener(this); f2=new JButton(" = "); f2.addActionListener(this);f3=new JButton(" C "); f3.addActionListener(this);f4=new JButton(" 负 "); f4.addActionListener(this); f5=new JButton(" 退格 "); f5.addActionListener(this); jPanel2.add(f3);jPanel2.add(b4);jPanel2.add(b3);jPanel2.add(f5);jPanel2.add(s7);jPanel2.add(s8);jPanel2.add(s9);jPanel2.add(b1);jPanel2.add(s4);jPanel2.add(s5);jPanel2.add(s6);jPanel2.add(b2);jPanel2.add(s1);jPanel2.add(s2);jPanel2.add(s3);jPanel2.add(b5);jPanel2.add(s0);jPanel2.add(f1);jPanel2.add(f4);jPanel2.add(b6);jPanel2.add(b7);jPanel2.add(b8);jPanel2.add(b9);jPanel2.add(f2);(3)数据输入用方法num(int i)设计如下:public void num(int i){String s = null;s=String.valueOf(i); //返回整数i的字符串表示形式if(end){ //如果数字输入结束,则将文本框置零,重新输入resultField.setText("0");end=false;}if((resultField.getText()).equals("0")){//如果文本框的内容为零,则覆盖文本框的内容resultField.setText(s);}else{ //如果文本框的内容不为零,则在内容后面添加数字str = resultField.getText() + s;resultField.setText(str);}以及用JFrame的方法actionPerformed(ActionEvent e)来获取数据(4)符号运算及清零、退格的设计如下:if(add){ // 加法num1=num1 +num2;}else if(sub){ //减法num1=num1 - num2;}else if(mul){ //乘法num1=num1 * num2;}else if(div){ //除法if(num2==0) throw new ArithmeticException("除数不能为零");elsenum1=num1 / num2;}else if(chf){ //乘方if(num2==0) num1=1;elsenum1=Math.pow(num1, num2);}else if(evo){ //开方if(num2<0) throw new ArithmeticException("被开方数不能小于零");else num1=Math.sqrt(num2);}else if(rec){ //倒数if(num2<0) throw new ArithmeticException("分母不能小于零");else num1=1/num2;}else if(per){ //百分num1=num1/100.0;}else if(pur){ //阶乘if(num2<0) throw new ArithmeticException("负数不能求阶乘");else for(int i=1;i<num2;i++){num1=i*num1;}}resultField.setText(String.valueOf(num1));end=true;}else if(e.getSource()==f3){ //实现清零resultField.setText("0");}else if(e.getSource()==f4){ //实现负号if(resultField.getText()!="0"){resultField.setText("-"+resultField.getText());}}else if(e.getSource()==f5){ //实现退格int i;i=(resultField.getText()).length();if(i==1){resultField.setText("0");}else { str=resultField.getText();resultField.setText(str.substring(0,i-1));}}}五、程序设计import java.awt.*;import java.awt.event.*;import javax.swing.*;public class test1 extends JFrame implements ActionListener{ // JFrame jframe1;JPanel jPanel1,jPanel2;JTextField resultField;JButtons1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,b5,b6,b7,b8,b9,f1,f 2,f3,f4,f5; private boolean end,add,sub,mul,div,evo,chf,per,rec,pur;private String str;private double num1,num2;public test1(){super("简易计算器");setSize(300,260);this.setLayout(new BorderLayout());jPanel1=new JPanel();jPanel1.setLayout(new GridLayout(1,1)); //一行一列的布局jPanel2=new JPanel();jPanel2.setLayout(new GridLayout(6,4)); //四行五列的布局resultField=new JTextField("0");jPanel1.add(resultField);this.add(jPanel1,BorderLayout.NORTH);s1=new JButton(" 1 "); s1.addActionListener(this);s2=new JButton(" 2 "); s2.addActionListener(this); s3=new JButton(" 3 "); s3.addActionListener(this); s4=new JButton(" 4 "); s4.addActionListener(this); s5=new JButton(" 5 "); s5.addActionListener(this); s6=new JButton(" 6 "); s6.addActionListener(this); s7=new JButton(" 7 "); s7.addActionListener(this); s8=new JButton(" 8 "); s8.addActionListener(this); s9=new JButton(" 9 "); s9.addActionListener(this); s0=new JButton(" 0 "); s0.addActionListener(this); b1=new JButton(" + "); b1.addActionListener(this); b2=new JButton(" - "); b2.addActionListener(this); b3=new JButton(" * "); b3.addActionListener(this); b4=new JButton(" / "); b4.addActionListener(this);b5=new JButton(" ^ "); b5.addActionListener(this); b6=new JButton(" 开方 "); b6.addActionListener(this); b7=new JButton(" % "); b7.addActionListener(this);b8=new JButton(" x! "); b8.addActionListener(this);b9=new JButton(" 1/x "); b9.addActionListener(this);f1=new JButton(" . "); f1.addActionListener(this); f2=new JButton(" = "); f2.addActionListener(this);f3=new JButton(" C "); f3.addActionListener(this);f4=new JButton(" 负 "); f4.addActionListener(this); f5=new JButton(" 退格 "); f5.addActionListener(this); jPanel2.add(f3);jPanel2.add(b4);jPanel2.add(b3);jPanel2.add(f5);jPanel2.add(s7);jPanel2.add(s8);jPanel2.add(s9);jPanel2.add(b1);jPanel2.add(s4);jPanel2.add(s5);jPanel2.add(s6);jPanel2.add(b2);jPanel2.add(s1);jPanel2.add(s2);jPanel2.add(s3);jPanel2.add(b5);jPanel2.add(s0);jPanel2.add(f1);jPanel2.add(f4);jPanel2.add(b6);jPanel2.add(b7);jPanel2.add(b8);jPanel2.add(b9);jPanel2.add(f2);this.add(jPanel2,BorderLayout.CENTER);}public void num(int i){String s = null;s=String.valueOf(i); //返回整数i的字符串表示形式if(end){ //如果数字输入结束,则将文本框置零,重新输入resultField.setText("0");end=false;}if((resultField.getText()).equals("0")){//如果文本框的内容为零,则覆盖文本框的内容resultField.setText(s);}else{ //如果文本框的内容不为零,则在内容后面添加数字str = resultField.getText() + s;resultField.setText(str);}}public void actionPerformed(ActionEvent e)throws ArithmeticException {//数字事件if(e.getSource()==s1)num(1);else if(e.getSource()==s2)num(2);else if(e.getSource()==s3)num(3);else if(e.getSource()==s4)num(4);else if(e.getSource()==s5)num(5);else if(e.getSource()==s6)num(6);else if(e.getSource()==s7)num(7);else if(e.getSource()==s8)num(8);else if(e.getSource()==s9)num(9);else if(e.getSource()==s0)num(0);//符号事件else if(e.getSource()==b1)sign(1);else if(e.getSource()==b2)sign(2);else if(e.getSource()==b3)sign(3);else if(e.getSource()==b4)sign(4);else if(e.getSource()==b5)sign(5);else if(e.getSource()==b6)sign(6);else if(e.getSource()==b7)sign(7);else if(e.getSource()==b8)sign(8);else if(e.getSource()==b9)sign(9);else if(e.getSource()==f1){ //实现"."str=resultField.getText();if(str.indexOf(".")<=1){str+=".";resultField.setText(str);}}else if(e.getSource()==f2){ //实现"=" num2=Double.parseDouble(resultField.getText());if(add){ // 加法num1=num1 +num2;}else if(sub){ //减法num1=num1 - num2;}else if(mul){ //乘法num1=num1 * num2;}else if(div){ //除法if (num2==0) throw new ArithmeticException("除数不能为零");elsenum1=num1 / num2;}else if(chf){ //乘方if(num2==0) num1=1;elsenum1=Math.pow(num1, num2);}else if(evo){ //开方if(num2<0) throw new ArithmeticException("被开方数不能小于零");else num1=Math.sqrt(num2);}else if(rec){ //倒数if(num2<0) throw new ArithmeticException("分母不能小于零");else num1=1/num2;}else if(per){ //百分num1=num1/100.0;}else if(pur){ //阶乘if(num2<0) throw new ArithmeticException("负数不能求阶乘");else for(int i=1;i<num2;i++){num1=i*num1;}}resultField.setText(String.valueOf(num1));end=true;}else if(e.getSource()==f3){ //实现清零resultField.setText("0");}else if(e.getSource()==f4){ //实现负号if(resultField.getText()!="0"){resultField.setText("-"+resultField.getText());}}else if(e.getSource()==f5){ //实现退格int i;i=(resultField.getText()).length();if(i==1){resultField.setText("0");}else { str=resultField.getText();resultField.setText(str.substring(0,i-1));}}}public void sign(int s){if(s==1){add=true;sub=false;mul=false;div=false;evo=false;chf=false;per=false;pur=false;rec=false;}else if(s==2){add=false;sub=true;mul=false;evo=false;chf=false;per=false;pur=false;rec=false;}else if(s==3){add=false;sub=false;mul=true;div=false;evo=false;chf=false;per=false;pur=false;rec=false;}else if(s==4){add=false;sub=false;mul=false;div=true;evo=false;chf=false;per=false;pur=false;rec=false;}else if(s==5){add=false;sub=false;mul=false;div=false;evo=false;chf=true;per=false;pur=false;}else if(s==6){ add=false;sub=false;mul=false;div=false;evo=true;chf=false;per=false;pur=false;rec=false;}else if(s==7){ add=false;sub=false;mul=false;div=false;evo=false;chf=false;per=true;pur=false;rec=false;}else if(s==8){ add=false;sub=false;mul=false;div=false;evo=false;chf=false;per=false;pur=true;rec=false;}else if(s==9){ add=false;sub=false;mul=false;evo=false;chf=false;per=false;pur=false;rec=true;}num1=Double.parseDouble(resultField.getText());end=true;}}public class mainclass {public static void main(String[] args){try{test1 th1=new test1();th1.show();}catch (Exception e){System.out.println(e);}}}设计体会与小结经过一周的实习,本学期的java课程设计到此也算告一段落了,经过这次的学习,我学到了很多东西,在此基础上更加巩固了自己对java基本知识及软件开发的了解。
JAVA实训报告--简易计算器

《Java实训》设计报告电子信息工程学院专业:软件技术班级:1班实训:简单计算器项目名称一、项目需求本程序的主要功能:(1)单击“简单计算器”上的数字按钮(0~9)可以设置参和计算的运算数。
(2)单击“简单计算器”上的运算符按钮(+、-、*、/、1/x、sqrt、%)可以选择运算符号。
(3)单击“简单计算器”上的“=”按钮显示计算结果。
(4)单击“简单计算器”上的“C”按钮清空计算结果。
(5)单击“简单计算器”上的“Backspace”按钮删除输入的最后一个数字。
二、项目设计在设计计算器时,编写1个Java源文件:SimpleCalculator.java,计算器除了上述Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。
下面是Java源文件的总体设计。
SimpleCalculator(主类)SimpleCalculator类负责创建计算器的主窗口,该类含有main方法,计算器从该类开始执行。
SimpleCalculator类有3种类型的对象,分别是:JPanel、JButton、JTextField。
还有boolean canClick;是否单击double memd;int memi;double tempResult,result;显示的结果short op=0;1、SimpleCalculator类(主类)(1)数据和方法SimpleCalculator类是javax.swing包中JFrame的一个子类,并实现了ActionListener接口。
类中有关数据和方法的详细说明。
1)成员变量btnNumber是数组,该数组长度为10。
btnNumber数组中的“数字按钮”含有的数字依次为0~9。
每个“数字按钮”都注册有ActionEvent事件监听器。
2)方法main(String args[])方法是计算器程序运行的入口方法。
SimpleCalculator()是构造方法,负责完成窗口的初始化。
java图形化界面实现简单计算器

学号11710115XX城建大学Java 语言程序设计C实验报告实验5:计算器学生路江飞班级11卓越7班一、实验目的1.掌握Java图形组件和布局管理器的使用;2.掌握使用Java事件处理机制的使用;3.掌握图形界面的各种控件的使用,如:标签、文本框、按钮、复选框、列表框、窗框等。
二、实验要求1.采用布局管理器进行界面的布局;2.学会对不同的事件用相应的事件处理器;3.写出实验报告。
要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。
三、实验容1.在随堂练习的简单计算器基础上设计一个多功能计算器。
包括复杂的功能:比如记忆功能,三角函数,成方,对数等等。
五、实验结果文件1:package puter;import java.awt.BorderLayout;publicclass puer extends JFrame {private JPanel contentPane;private JTextField textField;private JTextField textField_1;private JTextField textField_2;private JTextField textField_3;/*** Launch the application.*/publicstaticvoid main(String[] args) {EventQueue.invokeLater(new Runnable() {publicvoid run() {//运行程序时,点击按钮输入公式,当点击等于号时显示出计算结果try {puer frame = new puer();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 puer() {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();textField.setForeground(Color.PINK);textField.setText("\u6B22\u8FCE\u4F7F\u7528\u8BA1\u7B97\u5668"); textField.setBounds(10, 20, 368, 30);contentPane.add(textField);textField.setColumns(10);textField_1 = new JTextField();//文本框textField_1,显示公式textField_1.setBounds(10, 102, 368, 30);contentPane.add(textField_1);textField_1.setColumns(10);textField_2 = new JTextField();//文本框textField_2.显示计算结果textField_2.setBounds(10, 142, 368, 30);contentPane.add(textField_2);textField_2.setColumns(10);textField_3 = new JTextField();//文本框textField_3,显示电子表textField_3.setForeground(new Color(205, 133, 63)); textField_3.setBounds(10, 60, 368, 30);contentPane.add(textField_3);textField_3.setColumns(10);//按钮'清零',监听到按钮后清零utton btnC = new utton("\u6E05\u96F6");btnC.setForeground(Color.RED);btnC.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {textField_1.setText("");textField_2.setText("");s.delete(0, s.length());}});btnC.setBounds(10, 182, 183, 44); contentPane.add(btnC);//按钮'退格',监听到按钮后退格utton button_16 = new utton("\u9000\u683C");button_16.setForeground(Color.RED);button_16.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {s.delete(s.length()-1, s.length());String str=s.toString();textField_1.setText(str);}});button_16.setBounds(193, 182, 185, 44); contentPane.add(button_16);//按钮'*',监听到按钮后显示*utton button_1 = new utton("*");button_1.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {s.append('*');String str=s.toString();textField_1.setText(str);}});button_1.setBounds(285, 271, 93, 44); contentPane.add(button_1);//按钮'6',监听到按钮后显示6utton button_2 = new utton("6");publicvoid actionPerformed(ActionEvent e) {s.append('6');String str=s.toString();textField_1.setText(str);}});button_2.setBounds(193, 271, 93, 44); contentPane.add(button_2);//按钮'5',监听到按钮后显示5utton button_3 = new utton("5");button_3.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {s.append('5');String str=s.toString();textField_1.setText(str);}});button_3.setBounds(100, 271, 93, 44); contentPane.add(button_3);//按钮'4',监听到按钮后显示4utton button_4 = new utton("4");button_4.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {s.append('4');String str=s.toString();textField_1.setText(str);}});button_4.setBounds(10, 271, 93, 44); contentPane.add(button_4);//按钮'-',监听到按钮后显示-utton button_5 = new utton("-");button_5.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {s.append('-');String str=s.toString();textField_1.setText(str);}});button_5.setBounds(285, 313, 93, 44); contentPane.add(button_5);//按钮'3',监听到按钮后显示3utton button_6 = new utton("3");publicvoid actionPerformed(ActionEvent e) {s.append('3');String str=s.toString();textField_1.setText(str);}});button_6.setBounds(193, 313, 93, 44);contentPane.add(button_6);//按钮'2',监听到按钮后显示2utton button_7 = new utton("2");button_7.addActionListener(new ActionListener() {publicvoid actionPerformed(ActionEvent e) {s.append('2');String str=s.toString();textField_1.setText(str);}});button_7.setBounds(100, 313, 93, 44);contentPane.add(button_7);//按钮'1',监听到按钮后显示1utton button_8 = new utton("1");button_8.addActionListener(new ActionListener() {publicvoid actionPerformed(ActionEvent e) {s.append('1');String str=s.toString();textField_1.setText(str);}});button_8.setBounds(10, 313, 93, 44);contentPane.add(button_8);//按钮'+',监听到按钮后显示+utton button_9 = new utton("+");button_9.addActionListener(new ActionListener() {publicvoid actionPerformed(ActionEvent e) {s.append('+');String str=s.toString();textField_1.setText(str);}});button_9.setBounds(285, 355, 93, 44);contentPane.add(button_9);//按钮'=',点击按钮'=',将计算出结果********************************** utton button_10 = new utton("=");button_10.setForeground(Color.RED);button_10.addActionListener(new ActionListener() {publicvoid actionPerformed(ActionEvent e) {String str=s.toString();String ss=str;String index="[-]|[+]|[/]|[*]";String number[]=str.split(index);int count=number.length;double num[]=newdouble[count];for(int i=0;i<count;i++){num[i]=Double.parseDouble(number[i]);}double result=0;if(ss.contains("+")){result=num[0];for(int i=1;i<count;i++){result+=num[i];}}if(ss.contains("-")){result=num[0];for(int i=1;i<count;i++){result-=num[i];}}if(ss.contains("*")){result=num[0];for(int i=1;i<count;i++){result*=num[i];}}if(ss.contains("/")){result=num[0];for(int i=1;i<count;i++){if(num[i]==0){//除数等于0时,显示错误信息textField_2.setText("出错");return;}else {result/=num[i];}}}//int i=(int)Math.round(result*100);//result=(double)i/100;textField_2.setText(""+result);}});button_10.setBounds(193, 355, 93, 44); contentPane.add(button_10);//按钮'.',监听到按钮后显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. 程序流程图:2. 程序清单3. 程序的调用关系图四、全部源程序清单/* Calculator.javaGUI简单计算器*/package javacalculator;/**** @author */import java.awt.datatransfer.*;import java.text.DecimalFormat;public class NewJFrame extends javax.swing.JFrame {/*** Creates new form NewJFrame*/public NewJFrame() {initComponents();flag = false;d1 = 0;d2 = 0;op = "";jTextField1.setText("0");clipboard = getToolkit().getSystemClipboard();}private Clipboard clipboard;private boolean flag;private double d1;private double d2;private String op;@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {jPanel1 = new javax.swing.JPanel();jPanel2 = new javax.swing.JPanel();jButton4 = new javax.swing.JButton();jButton5 = new javax.swing.JButton();jButton6 = new javax.swing.JButton();jButton7 = new javax.swing.JButton();jButton8 = new javax.swing.JButton();jButton9 = new javax.swing.JButton();jButton10 = new javax.swing.JButton();jButton11 = new javax.swing.JButton();jButton12 = new javax.swing.JButton();jButton13 = new javax.swing.JButton();jButton14 = new javax.swing.JButton();jButton15 = new javax.swing.JButton();jButton16 = new javax.swing.JButton();jButton17 = new javax.swing.JButton();jButton18 = new javax.swing.JButton();jButton19 = new javax.swing.JButton();jButton20 = new javax.swing.JButton();jButton21 = new javax.swing.JButton();jButton22 = new javax.swing.JButton();jButton23 = new javax.swing.JButton();jButton24 = new javax.swing.JButton();jTextField1 = new javax.swing.JTextField();jButton1 = new javax.swing.JButton();jButton2 = new javax.swing.JButton();jButton3 = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jButton4.setText("7");jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jButton5.setText("8");jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton5ActionPerformed(evt);}});jButton6.setText("9");jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton6ActionPerformed(evt);}});jButton7.setText("4");jButton7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton7ActionPerformed(evt);}});jButton8.setText("5");jButton8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton8ActionPerformed(evt);}});jButton9.setText("6");jButton9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton9ActionPerformed(evt);}});jButton10.setText("1");jButton10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton10ActionPerformed(evt);}});jButton11.setText("2");jButton11.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton11ActionPerformed(evt);}});jButton12.setText("3");jButton12.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton12ActionPerformed(evt);}});jButton13.setText("0");jButton13.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton13ActionPerformed(evt);}});jButton14.setText(".");jButton14.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton14ActionPerformed(evt);}});jButton15.setText("±");jButton15.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton15ActionPerformed(evt);}});jButton16.setText("/");jButton16.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton16ActionPerformed(evt);}});jButton17.setText("*");jButton17.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton17ActionPerformed(evt);}});jButton18.setText("-");jButton18.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton18ActionPerformed(evt);}});jButton19.setText("+");jButton19.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton19ActionPerformed(evt);}});jButton20.setText("$");jButton20.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton20ActionPerformed(evt);}});jButton21.setText("sqrt");jButton21.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton21ActionPerformed(evt);}});jButton22.setText("1/x");jButton22.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton22ActionPerformed(evt);}});jButton23.setText("=");jButton23.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton23ActionPerformed(evt);}});jButton24.setText("%");jButton24.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton24ActionPerformed(evt);}});javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);jPanel2.setLayout(jPanel2Layout);jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addGap(53, 53, 53).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.LEADING, false).addComponent(jButton20, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout .Alignment.TRAILING, false).addGroup(jPanel2Layout.createSequentialGroup().addComponent(jButton13,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacem ent.RELATED).addComponent(jButton15,javax.swing.GroupLayout.PREFERRED_SIZE, 49,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacem ent.RELATED).addComponent(jButton14,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacem ent.UNRELATED).addComponent(jButton19).addPreferredGap(ponentPlacem ent.RELATED).addComponent(jButton23,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout.createParallelGroup(javax.swing.Gr oupLayout.Alignment.TRAILING, false).addGroup(javax.swing.GroupLayout.Alignment.LEADIN G, jPanel2Layout.createSequentialGroup().addComponent(jButton4,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(pone ntPlacement.RELATED).addComponent(jButton5,javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(pone ntPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton6,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(javax.swing.GroupLayout.Alignment.LEADIN G, jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.TRAILING, false).addComponent(jButton10,javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_V ALUE).addComponent(jButton7,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addPreferredGap(pone ntPlacement.RELATED).addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.TRAILING).addGroup(javax.swing.GroupLayout.Alignment .LEADING, jPanel2Layout.createSequentialGroup().addComponent(jButton8,javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(youtStyle .ComponentPlacement.RELATED).addComponent(jButton9,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(javax.swing.GroupLayout.Alignment .LEADING, jPanel2Layout.createSequentialGroup().addComponent(jButton11,javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(youtStyle .ComponentPlacement.RELATED).addComponent(jButton12,javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))))).addPreferredGap(ponentPlacem ent.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.Gr oupLayout.Alignment.LEADING, false).addGroup(jPanel2Layout.createSequentialGroup().addComponent(jButton17).addPreferredGap(pone ntPlacement.RELATED).addComponent(jButton21,javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(jButton18).addPreferredGap(pone ntPlacement.RELATED).addComponent(jButton22,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(jPanel2Layout.createSequentialGroup().addComponent(jButton16).addPreferredGap(pone ntPlacement.RELATED).addComponent(jButton24,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))).addGap(0, 85, Short.MAX_V ALUE)));jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.BASELINE).addComponent(jButton4).addComponent(jButton5).addComponent(jButton6).addComponent(jButton16).addComponent(jButton24)).addPreferredGap(ponentPlacement.UNRELAT ED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.BASELINE).addComponent(jButton7).addComponent(jButton8).addComponent(jButton9).addComponent(jButton17).addComponent(jButton21)).addPreferredGap(ponentPlacement.UNRELAT ED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.BASELINE).addComponent(jButton10).addComponent(jButton11).addComponent(jButton12).addComponent(jButton18).addComponent(jButton22)).addPreferredGap(ponentPlacement.UNRELAT ED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.BASELINE).addComponent(jButton13).addComponent(jButton14).addComponent(jButton15).addComponent(jButton19).addComponent(jButton23)).addPreferredGap(ponentPlacement.UNRELAT ED).addComponent(jButton20).addContainerGap(42, Short.MAX_V ALUE)));jButton1.setText("Back");jButton1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jButton2.setText("CE");jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jButton3.setText("C");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);jPanel1.setLayout(jPanel1Layout);jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jPanel2,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(jPanel1Layout.createSequentialGroup().addGap(50, 50, 50).addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL ayout.Alignment.LEADING, false).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jButton1,javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPla cement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addComponent(jButton2,javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(52, 52, 52).addComponent(jButton3,javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE, 318, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(0, 66, Short.MAX_V ALUE))).addContainerGap()));jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addGap(26, 26, 26).addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(ponentPlacement.RELATED).addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig nment.BASELINE).addComponent(jButton1).addComponent(jButton2).addComponent(jButton3)).addPreferredGap(ponentPlacement.UNRELAT ED).addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addGap(7, 7, 7)));javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE));pack();}// </editor-fold>/**数据的输入:* 程序开始时,程序初始化文本框的内容为“0”,点击数字按钮,* if语句判断,若文本框数据非0,则当下按的数字键对应的数字,作为字符串接入之前数据尾部,* else,文本框显示当下按的数字键所对应的数字。