JAVA保存计算过程的计算器课程设计报告
大学java课程设计实验报告--计算器
JAVA课程设计报告组员信息:第(二)组计算器的实现问题问题描述:制作一个计算器基本要求:要求实现类似Windows操作系统里面的标准计算器。
在此基础上实现部分科学性的功能。
测试数据:分别对加、减、乘、除和sin、cos、tan函数进行测试算法思想:使用String定义的数组a[25]对每个按钮进行按钮赋值,创建一个Panel进行字符和数字的存放,调用addActionListener()对各个时间进行监听。
调用系统库函数对数值进行运算。
模块划分:1、主函数main()创建一个计算器。
2、void actionPerformed(ActionEvent e)对鼠标点击的事件进行响应以及在文本框中的显示。
3、各Buuton对应的功能:“开方”:对输入数字开方“平方”:对输入数字平方“getResult()”:对四则运算进行分别运算操作“backspace”:取消上一次的操作“CE”:取消上一次运算的操作“C”:清空作用“sin”:对输入数据进行sin运算“cos”:对输入数据进行cos运算“tan”:对输入数据进行tan运算“+/-”:对输入的数据取反“+”,“-”,“*”,“/”:对数据进行四则运算源程序:package hechongwei;import ng.String;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;import ng.Math;class Calculator extends JFrame implementsActionListener {JTextField tf = new JTextField(" ");String str1 = " ", str2 = " ", str3 = " "; // str1和str2存放两个输入的数Panel pn1 = new Panel();// new 一个Panel存放符号与数字String a[] = { "平方", "开方", "backspace", "CE", "C", "7", "8", "9", "/","sin", "4", "5", "6", "*", "cos", "1", "2", "3", "-", "tan", "0","+/-", ".", "+", "="};// 用于对每个Button 进行赋值boolean frist = true;// 判断是否输入的为第一个字符int operCount = 0;int i; // 统计符号的数目String Operate = null;// 存放操作数的符号boolean error = false;double num1 = 0.0, num2 = 0.0;// 两个输入的数作运算时转化为double存放double result = 0.0;// 暂时保留计算结果public Calculator() {super("简单计算机 ");tf.setHorizontalAlignment(JTextField.RIGHT) ;// 显示框中由右想左输出tf.setEditable(false);Button b[] = new Button[25];for (i = 0; i < 5; i++) { // 将符号加到对应的Button上b[i] = new Button(String.valueOf(a[i]));pn1.add(b[i]);b[i].setActionCommand(a[i]);b[i].addActionListener(this);// 调用addActionListener()方法注册事件监听器}for (i = 5; i <= 7; i++) {b[i] = new Button(String.valueOf(a[i]));pn1.add(b[i]);b[i].setActionCommand("number");b[i].addActionListener(this);}b[8] = new Button(String.valueOf(a[8]));pn1.add(b[8]);b[8].setActionCommand("oper");b[8].addActionListener(this);b[9] = new Button(String.valueOf(a[9]));pn1.add(b[9]);b[9].setActionCommand(a[9]);b[9].addActionListener(this);for (i = 10; i <= 12; i++) {b[i] = new Button(String.valueOf(a[i]));pn1.add(b[i]);b[i].setActionCommand("number");b[i].addActionListener(this);}b[13] = new Button(String.valueOf(a[13])); pn1.add(b[13]);b[13].setActionCommand("oper");b[13].addActionListener(this);b[14] = new Button(String.valueOf(a[14])); pn1.add(b[14]);b[14].setActionCommand(a[14]);b[14].addActionListener(this);for (i = 15; i <= 17; i++) {b[i] = new Button(String.valueOf(a[i]));pn1.add(b[i]);b[i].setActionCommand("number");b[i].addActionListener(this);}b[18] = new Button(String.valueOf(a[18])); pn1.add(b[18]);b[18].setActionCommand("oper");b[18].addActionListener(this);b[19] = new Button(String.valueOf(a[19])); pn1.add(b[19]);b[19].setActionCommand(a[19]);b[19].addActionListener(this);for (i = 20; i <= 22; i++) {b[i] = new Button(a[i]);pn1.add(b[i]);b[i].setActionCommand(a[i]);b[i].addActionListener(this);}b[23] = new Button(String.valueOf(a[23])); pn1.add(b[23]);b[23].setActionCommand("oper");b[23].addActionListener(this);b[24] = new Button(String.valueOf(a[24])); pn1.add(b[24]);b[24].setActionCommand(a[24]);b[24].addActionListener(this);pn1.setLayout(new GridLayout(5, 5));add(tf, "North"); // 界面的处理add(pn1, "Center");setSize(400, 300);setVisible(true);tf.setText("0.0");addWindowListener(new WindowAdapter() { //程序结束public void windowClosing(WindowEvent e) {System.exit(1);}});}public void actionPerformed(ActionEvent e) { Button temp = (Button) e.getSource();try {if(e.getActionCommand().equals("number")) {if (frist) {str1 = str1 + temp.getLabel();tf.setText(str1); // 将输入的str1在显示框中显示} else {str2 = str2 + temp.getLabel();tf.setText(str2);// 将输入的str2在显示狂中显示}} else if(e.getActionCommand().equals("oper")) {if (str1 == " ") {operCount= 0;// 如果还没有输入数就点击运算符,执行iffrist = true;} else {operCount++;if (operCount > 1) {// 若输入的字符多余一个,则可进行运算getResult();}Operate= temp.getLabel(); // 存放加,减,乘,除等的符号frist = false;}} else if(e.getActionCommand().equals("=")) {if((str1== "") || (str2== "")) // 两个数没有输全就点击等号,执行if{operCount = 0;// 将按键计数器清零frist = true;} else {getResult();operCount = 0;}} else if(e.getActionCommand().equals("平方")) {if (str1 == " ")tf.setText("0.0");else {double d =Math.pow(Double.parseDouble(str1), 2);str1 = String.valueOf(d);tf.setText(str1);frist = false;}} else if(e.getActionCommand().equals("开方")) {if (str1 == " ")tf.setText("0.0");else {double d =Math.sqrt(Double.parseDouble(str1));str1 = String.valueOf(d);tf.setText(str1);frist = false;}} else if(e.getActionCommand().equals("sin")) {if (str1 == " ") { // 处理sin0 ,cos0等tf.setText("0.0");str1 = "0";}else {double k = Double.parseDouble(str1);k = k * Math.PI / 180;double d = Math.sin(k);str1 = String.valueOf(d);tf.setText(str1);frist = false;}} else if(e.getActionCommand().equals("cos")) {if (str1 == " ") {tf.setText("0.0");str1 = "0";} else {double k = Double.parseDouble(str1);k = k * Math.PI / 180;double d = Math.cos(k);str1 = String.valueOf(d);tf.setText(str1);frist = false;}} else if(e.getActionCommand().equals("tan")) {if (str1 == " ") {tf.setText("0.0");str1 = "0";} else {double k = Double.parseDouble(str1);k = k * Math.PI / 180;double d = Math.tan(k);str1 = String.valueOf(d);tf.setText(str1);frist = false;}} else if(e.getActionCommand().equals("C")) {operCount = 0;// 清空frist = true;str1 = " ";str2 = " ";str3 = " ";tf.setText("0.0");} else if(e.getActionCommand().equals("+/-")) {if (str1 == " ") {tf.setText("0.0");str1 = "0";} else {double k = Double.parseDouble(str1);str1 = String.valueOf(-k);tf.setText(str1);}} else if(e.getActionCommand().equals("CE")) { // 取消上一步的运算tf.setText(str1);frist = true;operCount = 0;str2 = " ";} else if(e.getActionCommand().equals("backspace")) {{// 退格String s = tf.getText();tf.setText("");char b[] = new char[20];for (int i = 0; i < s.length() - 1; i++) {char a = s.charAt(i);b[i] = a;tf.setText(tf.getText() + a);}if (operCount == 0)str1 = tf.getText();elsestr2 = tf.getText();}}} catch (Exception f) {System.out.println(f.getMessage());}}void getResult() {num1 = Double.parseDouble(str1);num2 = Double.parseDouble(str2);if (Operate.equals("+")) {result = num1 + num2;} else if (Operate.equals("-")) { result = num1 - num2;} else if (Operate.equals("*")) { result = num1 * num2;}if (Operate.equals("/")) {if (num2 == 0.0) {error = true;} else {result = num1 / num2;}}if (error) {tf.setText("error");} else {tf.setText(String.valueOf(result));str3 = str1;str1 = String.valueOf(result);str2 = " ";}}public static void main(String args[]) {new Calculator();}}程序流程:if (e.getActionCommand().equals("number"))else if (e.getActionCommand().equals("oper"))else if (e.getActionCommand().equals("="))else if (e.getActionCommand().equals("平方"))else if (e.getActionCommand().equals("开方"))else if (e.getActionCommand().equals("C")) else if (e.getActionCommand().equals("CE"))void getResult()Main()主函数流程:测试情况:图形界面示意图:测试情况测试数据:输入4 ,平方显示结果为16输入4,开方显示结果为2输入4,+,2 显示结果为6输入4,-,2 显示结果为2输入4,*,2显示结果为8输入4,/,2显示结果为2输入1,+,2, +,4,CE,+8 显示结果为11输入1,+,22,Backspace ,= 显示结果为3 输入C 显示结果为0输入30,sin 显示结果为0.5。
计算器设计的java课程设计报告
计算器设计的java 课程设计报告华东交通大学课程设计课程设计题目:计算器设计课程: Java程序设计题目:计算器设计年级:级专业:信息一班学号:姓名:组员:指导教师:课程设计(论文)任务书基础学院信息与计算科学专业—1班一、课程设计(论文)题目计算器的设计二、课程设计(论文)工作自年 6 月23日起至年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)参考文献:(1)丁振凡.《J ava语言程序设计》清华大学出版社(2)丁振凡.《J ava语言程序设计实验指导与习题解析》清华大学出版社(3)http:/ /6)课程设计进度安排内容天数地点总体需求与分析构思及收集资料 1图书馆各模块的编程实现,调试与修改 3机房撰写论文与答辩 1图书馆,机房学生签名:年6 月18 日课程设计(论文)评审意见(1)态度评价(20分):优()、良()、中()、一般()、差();(2)任务难度(20分):优()、良()、中()、一般()、差();(3)设计分析(20分):优()、良()、中()、一般()、差();(4)创新性评价(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)论文格式规范性及考勤是否降等级:是()、否()。
Java计算器课程设计报告
《Java计算器》Java课程设计报告姓名:********学号:********专业:************一.程序要实现的功能:基础功能:类似windows计算器-普通计算器所具有的,数的输入、加、减、乘、除、开根号、求倒数、退格、清空,以及数字储存器中的MR(显示)、MC (清空)、M+(相加)、MS(储存)扩展功能: 类似windows计算器-科学计算器所具有的,各种函数(包括正三角反三角函数)计算,不同进制转换,逻辑与或非等操作。
二.程序算法&功能实现(大概)以下为运算功能简易示意图:不同进制转换:此功能独立于计算器其他功能,计算器运行过程中设定一个变量carry储存当前进制转态,每次运算时先将屏幕显示的数字转化成十进制然后带入运算,对于要显示在计算器屏幕的结果也要先进行十进制转换为当前进制然后显示。
三.遇到问题及解决方案1.普通计算器到科学计算器的界面转换:科学计算器的界面显然比普通计算器界面要复杂,按钮要多,而无论怎样修改布局都无法完整得在科学计算器和普通计算器之间切换。
解决方案:将计算器的界面布局的类设为扩展JPanel的类CreateButton,该类中设置两个方法,一个方法进行科学计算器的界面布局,一个方法进行普通计算器的界面布局,两个方法依靠CreateButton类构造函数种的参数决定调用哪个方法,在主的类里面若要在科学计算器和普通计算器之间切换,只要为当前面板new一个CreateButton,并设置好参数,就可以换一个界面。
2.不同进制输入输出与运算问题:由于科学型计算器涉及不同进制的输入输出与运算,而不同的进制运算规则稍有不同,因此不同进制输入输出与运算就成了一个问题。
解决方案:设置一个全局变量表示当前进制状态,而程序运行过程处理数据都以十进制形式,也就是仅在显示时,按照当前进制状态,将十进制转化为相应进制。
3.JAVA已有的函数计算精度不够:例如sin函数计算,java对sin函数计算的参数是弧度制,但是如果用Math.sin ()计算Pi/6(即sin30度),那么结果是0.4999999999999999而不是0.5。
计算器java课程设计报告(完整版)
《面向对象程序设计》课程设计报告课程设计题目:计算器****:***专业:信息管理与信息系统班级:1424603****:***2016年 5 月25 日一、课设任务及要求1)课设任务:⑴设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数和负数的运算)。
⑵有求倒数、退格和清零功能。
2)创新要求:能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。
3)设计要求①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。
且有小数点、正负号、求倒数、退格和清零功能。
②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。
③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。
二、设计思路⑴本应用程序继承自框架类(JFrame),容器Container c采用BorderLayout 边缘布局,将单行文本框加入到“North”区域,包含各种按钮的面板JPanel p加入到”Center”区域。
包含各种按钮的面板JPanel p 采用3行6列的网格布局,然后将数字按钮和运算符按钮以及控制按钮用一个for循环添加到面板中同时注册按钮事件监听器。
如:Button b=new Button();b.addActionListener(事件监听器);⑵事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。
事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”求倒”)、退格按钮事件(”退格”)、清除按钮事件(“C”) 、正切(tan)、余弦(cos),以及求平方根(sqrt)、指数(pow)、对e的指数(exp)、对数运算(log)。
java课程设计计算器
java课程设计 计算器一、课程目标知识目标:1. 理解Java基本语法和程序结构,掌握算术表达式的编写;2. 掌握使用Java进行数值运算的方法,理解数据类型转换规则;3. 了解简单的异常处理机制,理解其与计算器程序的关系。
技能目标:1. 能够运用所学知识,独立编写一个具备基本功能的计算器程序;2. 学会使用Java控制台输入输出,实现用户与程序的交互;3. 能够通过调试和修改代码,解决计算器程序中的常见错误。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动探索和解决问题的热情;2. 培养学生的团队协作意识,使其学会在编程过程中互相帮助和分享经验;3. 培养学生的逻辑思维能力,提高其分析问题和解决问题的能力。
本课程针对具有一定Java基础的学生设计,结合计算器项目实践,旨在巩固和拓展所学知识,提高学生的编程能力和实际应用能力。
课程注重培养学生的动手实践能力,强调理论与实践相结合,使学生能够在实践中掌握Java编程技巧,培养良好的编程习惯。
通过本课程的学习,学生将能够独立完成一个简单的计算器程序,提高其在实际编程中的问题解决能力。
二、教学内容1. Java基本语法与程序结构复习(教材第3章)- 简单的变量声明与赋值- 基本算术运算符的使用- 程序的控制流程:顺序、分支(if-else)、循环(for、while)2. Java数据类型与运算(教材第4章)- 数据类型转换规则- 运算符优先级- 算术表达式编写3. Java控制台输入输出(教材第5章)- 使用Scanner类进行输入- 使用System.out.print和System.out.println进行输出4. 简单异常处理(教材第7章)- 异常的概念与分类- try-catch语句的使用- 异常处理在计算器程序中的应用5. 计算器程序设计实践- 设计计算器功能需求- 编写计算器程序代码- 调试与优化计算器程序教学内容安排与进度:第一课时:复习Java基本语法与程序结构,明确计算器项目需求第二课时:学习Java数据类型与运算,编写计算器核心算法第三课时:掌握Java控制台输入输出,实现计算器用户交互第四课时:了解简单异常处理,优化计算器程序第五课时:计算器程序设计实践,调试与改进教学内容注重理论与实践相结合,通过逐步引导,使学生能够将所学知识应用于计算器程序设计,提高编程实践能力。
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课设计算器报告随着计算机的快速发展,计算机科学正在成为21世纪最重要的学科之一。
同时,作为计算机科学的一部分,Java语言也正在发展壮大。
因此,Java的课程也随之增加,如程序设计,软件工程,数据库,机器学习等等。
作为一名Java专业的学生,在学习课程的同时,我也做了一次课程设计,即实现一个Java算法计算器,如加,减,乘,除以及整数,小数,次方,根号等功能。
首先,我们需要完成一些准备工作,即使用Java语言实现功能。
为了实现上述功能,我们按照以下步骤进行:首先,使用if..else 语句来判断输入是操作数还是操作符;其次,使用switch语句来实现操作;最后,使用System.out.print()函数将结果显示在控制台中。
在实现完上述步骤之后,算法计算器功能就完成了,我们可以开始进行测试。
在测试过程中,我们输入各种操作数和操作符,并检查计算器是否能够正确计算出结果,并且检查算法是否能够实现各种功能,如加减乘除等。
我们最终实现了加减乘除,整数,小数,次方,根号等功能,在测试中结果都正确,证明算法可以实现预期的功能。
最后,总结一下这次实现Java算法计算器的过程:首先,我们使用if..else语句和switch语句来实现功能;其次,我们使用System.out.print()函数来显示结果;最后,在测试中结果都正确,证明算法可以实现预期的功能。
本次实验表明,当我们使用编程语言实现算法时,可以正确地实现我们预期的功能。
本次实验也使我对Java语言有了更深的理解,并且也使我对算法的原理有了更深的认识。
综上所述,我们实现的Java算法计算器可以满足本次实验的需要,具有正确的功能,并且在实验过程中,我们也对算法和Java语言都有了更深的了解。
java课设计算器报告
java课设计算器报告
今天,我们取得了一个令人惊叹的成果:利用Java语言实现了简单的计算器,它可以进行多种数学运算。
本报告展示了其原理与实施过程,并讨论了开发过程中涉及到的关键思想与核心技术。
本课设计报告是针对使用Java编写的计算器的一个评估报告,以下是详细内容:
1.项目背景:由于现在计算机发展得很快,计算机语言也是随之发展起来,更多的语言可以实现各种功能,而Java语言作为编程语言被广泛应用,本次课设希望能够利用Java编写一个小型计算器。
2.功能实现:通过Java编写简单计算器,实现输入两个参数,然后进行加减乘除的计算。
3.开发过程:
(1)首先要创建一个Java程序,然后定义两个变量,用于存放输入的参数。
(2)然后为程序添加输入的函数,以获取用户输入的参数。
(3)利用if语句判断用户输入的运算符号,根据不同的运算符号,调用相应的函数进行计算。
(4)将计算结果输出,以及耗时等信息。
4.评估结果:本次使用Java实现了一个小型计算器,实现了加减乘除功能。
整个程序的开发流程非常顺利,而且具有良好的可实施性和可维护性,程序运行流畅,计算结果准确,性能极佳。
java课设计算器报告
java课设计算器报告Java是一种跨平台的面向对象的编程语言,使用Java编写的程序可以运行在各种环境(如Windows,Linux, Mac OS)之中。
而在学习Java语言的过程中,设计一个功能比较完善的计算器是学习者比较需要掌握的一项基本技能,故本文的目的在于,设计一个更加完善的Java课设计算器,并介绍如何实现。
二、计算器简介计算器是一种用于计算数字表达式的设备或程序,它可以计算算术表达式(包括加、减、乘、除),可以处理复杂的表达式,并有多种式样,如科学计算器,财务计算器,历史计算器等等。
三、计算器实现(一)编写程序首先,编写一个简单的计算器程序,让它能够实现输入输出的功能。
程序的实现使用Java的swing组件,并设置相应的按钮和文本框。
(二)处理表达式计算器可以接受复杂的表达式,所以必须使用相应的算法来处理表达式,以便得到正确的结果。
(三)计算结果接收到表达式后,依据编写的算法,计算得到所需要的结果,并在结果框中显示出来。
四、计算器应用计算器是日常生活中非常常见且实用的工具,它有助于改善计算准确性以及节约计算时间。
此外,计算器也有多种应用,比如:(一)金融领域计算器可以帮助金融行业的职员进行计算,例如计算投资收益、贷款利息、汇率等;(二)学术领域计算器可以帮助学生进行科学计算,从而更加方便快捷地完成学术研究;(三)数据分析计算器可以帮助对大量数据进行快速分析,从而节省时间和精力,提高工作效率。
五、总结本文基于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计算器课程设计报告
石家庄职业技术学院课程设计报告计算器应用程序学生姓名:指导教师:系别:专业:年级:论文提交时间:年月日目录一概述 (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课程设计-保存计算过程的计算器
保存计算过程的计算器1.课程设计的目的随着计算机技术的飞速发展,人们已经不能满足于采用人工进行大量的计算,计算器快速的计算速度和稳定的准确率很好的满足了用户的需要,保存计算过程的计算器更是能够让用户随时随地的查找以前的计算过程。
保存计算过程的计算器正是在这样的市场需求之下研发的,目的旨在帮助用户快速准确的得到计算结果。
掌握Java语言编程的基础知识并能熟练运用,熟悉类声明与对象的使用,理解委托时间处理模型,了解Java 语言的图形用户界面的设计知识,运用JCreator编写简单计算器程序,并实现其功能。
2.设计方案论证需求分析设计一个图形界面的带保存过程的计算器应用程序,完成简单的算术过程。
设计的计算器应用程序除了普通的计算功能外,还有n次方、算术平方根、正弦函数、对数、随机取值、退格、清零等功能。
程序主要是设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关计算。
用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的过程将被显示在窗口右边的文本框中,另外使用程序自带的保存功能将计算过程保存到想要的地方。
设计思路本应用程序继承自框架类(Frame),此程序不使用布局管理器,将单行输入显示文本框、各个按钮功能、计算过程显示区加入到同一个面板内,直接添加到各自区域。
同时注册按钮时间监听器。
如:b0 = new JButton("0");(new ActionListener()事件监听器中的事件处理方法void actionPerformed(ActionEvent e),完成主要事件的按钮事件的处理。
事件处理分以下几种情况:数字按钮事件(“1”,“2”,“3”,…,“9”,“0”)、运算符按钮事件(“+”,“-”,“钎,“/”)、正负号按钮事件(“土”)、小数点按钮事件(“.”)、等号按钮事件(“=”)、n次方按钮事件(“xy”)、算术平方根按钮事件(“,')、正弦函数按钮事件(“sin”)、对数函数按钮事件(“log”)、随机取值按钮事件(“R”)、PI按钮事件(“n”)、退格按钮事件(“一”)、清零按钮事件(“C”)、保存复制清除按钮事件(“保存”,“复制”,“清除”)。
JAVA课程设计报告-保存计算过程的计算器
编号:《面向对象程序设计(JAVA)》课程设计(论文)档案题目:保存计算过程的计算器学院:信息学院专业:姓名:学号:班级:指导教师:职称:讲师完成日期:2013年12月《面向对象程序设计(JAVA)》课程设计(论文)题目:保存计算过程的计算器学院:信息学院专业:姓名:学号:班级:指导教师:职称:讲师完成日期:2013年12月摘要当下计算机技术发展迅捷,人们已经不能满足于采用人工进行大量的计算,计算器快速的计算速度和稳定的准确率很好的满足了用户的需要,然而Windows自带的计算器所提供的功能已经无法满足人民日益增长的需求,保存计算过程的计算器更是能够让用户随时随地的查找以前的计算过程,能够提供给用户更加好的体验感受。
基于上面的几点因素,保存计算过程的计算器正是在这样的需求之下应运而生的,目的旨在帮助用户快速准确的得到计算结果。
本次实验课题使用了JAVA语言,开发平台选用Eclipse这个开源的编译软件,主要原因就是其强大的跨平台能力与超过C++语言MFC所提供的包含框架界面设计功能。
由于其是面向对象的语言,所以整个代码看上去尽然有序,更加健壮、易读。
对于程序本身,由于时间有限只能做出简易的计算功能,旨在实现保存计算过程这一目标,更加多的科学计算器功能可以通过模块的方式进行快速集成,体现出了面向对象的模块化设计的特性。
【关键字】保存计算过程,计算器,JAVA语言,Eclipse,模块化AbstractWith the rapid development of puter technology nowadays, people are not satisfied with the manually way that conduct a large number of calculations any more. puters, which have the high speed of the calculation and stable accuracy, meet user’s needs well. However, the functions of Window’s own calculator have been unable to meet the growing needs of people. But the calculator saving the calculation procedure enables users to search the procedure at any time and no matter where they are and it provides the users with a better and totally new experience.Taking all the facts above into consideration, the calculator that saving the calculation procedure works, in such a condition. It aims at helping the users to get the calculation results as quickly as possible. For this experimental subject, JAVA language has been used.Also used Eclipse software. The main reason of it is that it has quite a powerful ability of cross platform. Besides, the function of framework interface designation surpasses the C++ MFC’s. Since it is an object-oriented language, the whole codes seem more orderly, stronger and easier to read.As for the process itself, only the simple calculations can be made due to the limited time. Nevertheless, to make the calculation procedure saved, more and more scientific calculator functions can be quickly integrated through the way of module which reflects the features of object-oriented modular design.【Key words】Save putational process;Calculator;JAVA language;Eclipse;Modularization目录前言11 需求分析11.1设计目的11.2程序需求分析11.3系统目标21.4主要设计思想21.5开发环境配置22 程序设计32.1概要设计3 2.2详细设计52.3设计小结73 代码编写83.1导入包83.2各模块代码84 测试与调试11 4.1主界面测试12 4.2计算操作12 4.3清零操作12 4.4保存操作134.5清除操作135 软件发布14总结与体会15参考文献15致谢16附录16前言在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有一个计算器就会显得很麻烦。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J A V A保存计算过程的计算器课程设计报告-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN保存计算过程的java计算器目录1 概述 ....................................................................................................... 错误!未定义书签。
课程设计目的....................................................................... 错误!未定义书签。
课程设计内容....................................................................... 错误!未定义书签。
2 系统需求分析 .......................................................................................... 错误!未定义书签。
系统目标............................................................................... 错误!未定义书签。
主体功能............................................................................... 错误!未定义书签。
开发环境............................................................................... 错误!未定义书签。
3 系统概要设计 .......................................................................................... 错误!未定义书签。
系统的功能模块划分........................................................... 错误!未定义书签。
系统流程图........................................................................... 错误!未定义书签。
4系统详细设计 .......................................................................................... 错误!未定义书签。
5 测试........................................................................................................... 错误!未定义书签。
测试方案............................................................................... 错误!未定义书签。
测试结果............................................................................... 错误!未定义书签。
6 小结........................................................................................................... 错误!未定义书签。
参考文献...................................................................................................... 错误!未定义书签。
附录 .......................................................................................................... 错误!未定义书签。
附录1 源程序清单 ...................................... 错误!未定义书签。
1 概述课程设计目的1.掌握JAVA语言编程的基础知识并能熟练运用。
2.熟悉类声明与对象的使用。
3.理解委托时间处理模型。
4.了解JAVA语言的图形用户界面JAVAS WING的设计知识。
5.运用JAVA SWING编写简单计算器程序,并实现其功能。
课程设计内容设计GUI界面的计算机程序,用户可以通过鼠标依次输入参加计算的数值,进行加,减,乘,除,等混合运算。
2 系统需求分析系统目标一个简单的计算器程序。
用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显示在窗口上部的文本框中。
主体功能1.按下数字键在文本框上会显示数字,这是计算器最基本的功能2.在任何时候按下“+-”键,计算器文本框上的数字置反3.上面一个文本框显示计算过程,下面一个文本框显示输入的数字4.当按下的运算符号时前面已经按下过运算符号时,下面一个文本框显示上一个运算符号以及两个数之间的运算结果。
5. 按下清除“C”键,数据被全部清除。
开发环境JDK3 系统概要设计系统的功能模块划分1.主界面模块2.事件相应模块系统流程图4系统详细设计1.主界面模块详细设计顶层容器:ComputerPad类实现主窗口,顶层容器中包含了1个panel容器,1个resultshow文本框,1个process文本框。
各组件作用:其中panel容器用于放数字按钮,小数点,运算符按钮,清零按钮,正负转换按钮以及退格按钮。
两个文本框一个用于显示输入数据和计算结果,另一个用于显示计算过程。
布局方式:顶层容器用BroadLayOut布局,process和resultshow文本框以及panel容器分别放在定岑容器的noth,center以及south面,panel容器用GridLayOut布局部分代码如下数字按钮类:实现数字按钮的定义public class NumberButton extends Button{}运算符按钮类:实现运算符号的定义public class OperationButton extends Button{}主窗口类实现监视器的注册,窗口布局,组件颜色大小等的设置public class ComputerPad extends Frame implements ActionListener{NumberButton numberButton[];OperationButton oprationButton[];Button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮;Panel panel;JTextField resultShow;JTextField process;String 运算符号[]={"+","-","*","/"};LinkedList 链表;boolean 是否按下等号=false;public ComputerPad(){super("计算器");链表=new LinkedList();ddActionListener(this);}oprationButton=new OperationButton[4];for(int i=0;i<4;i++){oprationButton[i]=new OperationButton(运算符号[i]); oprationButton[i].addActionListener(this);}小数点按钮=new Button(".");正负号按钮 =new Button("+/-");等号按钮=new Button("=");求倒数按钮=new Button("1/x");退格按钮=new Button("退格");清零按钮=new Button("C");清零按钮.setForeground;退格按钮.setForeground;等号按钮.setForeground;求倒数按钮.setForeground;正负号按钮.setForeground;小数点按钮.setForeground;退格按钮.addActionListener(this);清零按钮.addActionListener(this);等号按钮.addActionListener(this);小数点按钮.addActionListener(this);正负号按钮.addActionListener(this);求倒数按钮.addActionListener(this);ize()==0) {}else if(链表.size()==1&&是否按下等号==false){}else if(链表.size()==1&&是否按下等号==true) {}else if(链表.size()==2) {}else if(链表.size()==3) {}}ize()==1) {}else if(链表.size()==2) {}else if(链表.size()==3) {}}ize()==1||链表.size()==2) {}else if(链表.size()==3) {}}ize()==0) {}else if(链表.size()==1) {}else if(链表.size()==3) {}}ize()==1) {}else if(链表.size()==3) {}}ize()==1) {}else if(链表.size()==3) {}}ize()==1||链表.size()==2) {}else if(链表.size()==3) {}}Java2实用教程(第三版)[M] . 北京:清华大学出版社,2006 [2]耿祥义.? Java课程设计(第三版)[M] . 北京:清华大学出版社, 2004 [3]张跃平.Java2实用教程实验指导与习题解答(第三版)[M]. 北京:清华大学出版社, 2004附录附录1 源程序清单import .*;import .*;public class NumberButton extends Button{int number;public NumberButton(int number){super(""+number);=number;setForeground;}public int getNumber(){return number;}}import .*;import .*;public class OperationButton extends Button{String 运算符号;public OperationButton(String s){super(s);运算符号=s;setForeground;}public String get运算符号(){return 运算符号;}}import .*;import .*;import class ComputerPad extends Frame implements ActionListener {NumberButton numberButton[];OperationButton oprationButton[];Button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮;Panel panel;JTextField resultShow;JTextField process;String 运算符号[]={"+","-","*","/"};LinkedList 链表;boolean 是否按下等号=false;public ComputerPad(){super("计算器");链表=new LinkedList();numberButton=new NumberButton[10];for(int i=0;i<=9;i++){numberButton[i]=new NumberButton(i);numberButton[i].addActionListener(this);}oprationButton=new OperationButton[4];for(int i=0;i<4;i++){oprationButton[i]=new OperationButton(运算符号[i]); oprationButton[i].addActionListener(this);}小数点按钮=new Button(".");正负号按钮 =new Button("+/-");等号按钮=new Button("=");求倒数按钮=new Button("1/x");退格按钮=new Button("退格");清零按钮=new Button("C");清零按钮.setForeground;退格按钮.setForeground;等号按钮.setForeground;求倒数按钮.setForeground;正负号按钮.setForeground;小数点按钮.setForeground;退格按钮.addActionListener(this);清零按钮.addActionListener(this);等号按钮.addActionListener(this);小数点按钮.addActionListener(this);正负号按钮.addActionListener(this);求倒数按钮.addActionListener(this);process=new JTextField(10);;;(new Font("TimesRoman",,14));(new SoftBevelBorder);;(false);resultShow=new JTextField(10);;;(new Font("TimesRoman",,14));(new SoftBevelBorder);;(false);panel=new Panel(); (new GridLayout(5,4));(清零按钮);(退格按钮);(numberButton[1]);(numberButton[2]);(numberButton[3]);(numberButton[4]);(numberButton[5]);(numberButton[6]);(numberButton[7]);(numberButton[8]);(numberButton[9]);(numberButton[0]);(oprationButton[0]);(oprationButton[1]);(oprationButton[2]);(oprationButton[3]);(求倒数按钮);(正负号按钮);(小数点按钮);(等号按钮);add(panel,;add(resultShow,;add(process,;addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){(0);}});setVisible(true);setBounds(100,50,170,190);setResizable(false);validate();}public void actionPerformed(ActionEvent e){if() instanceof NumberButton){NumberButton b=(NumberButton)();if(链表.size()==0){int number=();链表.add(""+number);(""+number);(""+number);是否按下等号=false;}else if(链表.size()==1&&是否按下等号==false) {int number=();String num=(String)链表.getFirst();String s=(""+number);链表.set(0,s);(s);(s);}else if(链表.size()==1&&是否按下等号==true) {int number=();链表.removeFirst();链表.add(""+number);是否按下等号=false;(""+number);(""+number);}else if(链表.size()==2){int number=();链表.add(""+number);(""+number);(""+((String)链表.get(0))+((String)链表.get(1))+number);}else if(链表.size()==3){int number=();String num=(String)链表.getLast();String s=(""+number);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+number);链表.set(2,s);(s);}}else if() instanceof OperationButton){OperationButton b=(OperationButton)();if(链表.size()==1){String fuhao=运算符号();(""+((String)链表.get(0))+fuhao);链表.add(fuhao);}else if(链表.size()==2){String fuhao=运算符号();链表.set(1,fuhao);(""+((String)链表.get(0))+((String)链表.get(1))); }else if(链表.size()==3){String fuhao=运算符号();String number1=(String)链表.getFirst();String number2=(String)链表.getLast();String 运算符号=(String)链表.get(1);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+运算符号);try{double n1=(number1);double n2=(number2);double n=0;if(运算符号.equals("+")){n=n1+n2;}else if(运算符号.equals("-")){n=n1-n2;}else if(运算符号.equals("*")){n=n1*n2;}else if(运算符号.equals("/")){n=n1/n2;}链表.clear();链表.add(""+n);链表.add(fuhao);(""+n);}catch(Exception ee){}}}else if()==等号按钮){是否按下等号=true;if(链表.size()==1||链表.size()==2) {String num=(String)链表.getFirst();(""+num);(num+"=");}else if(链表.size()==3){String number1=(String)链表.getFirst();String number2=(String)链表.getLast();String 运算符号=(String)链表.get(1);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+"=");try{double n1=(number1);double n2=(number2);double n=0;if(运算符号.equals("+")){n=n1+n2;}else if(运算符号.equals("-")){n=n1-n2;}else if(运算符号.equals("*")){n=n1*n2;}else if(运算符号.equals("/")){n=n1/n2;}(""+n);链表.set(0,""+n);链表.removeLast();链表.removeLast();}catch(Exception ee){}}}else if()==小数点按钮){if(链表.size()==0){是否按下等号=false;}else if(链表.size()==1){String dot=小数点按钮.getLabel();String num=(String)链表.getFirst();String s=null;if(dot)==-1){s=(dot);链表.set(0,s);}else{s=num;}链表.set(0,s);(s);(s);}else if(链表.size()==3){String dot=小数点按钮.getLabel();String num=(String)链表.getLast();String s=null;if(dot)==-1){s=(dot);链表.set(2,s);}else{s=num;}(s);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2)) );}}else if()==退格按钮){if(链表.size()==1){String num=(String)链表.getFirst();if()>=1){num=(0,()-1);链表.set(0,num);(num);(""+((String)链表.get(0)) );}else{链表.removeLast();("0");}}else if(链表.size()==3){String num=(String)链表.getLast();if()>=1){ num=(0,()-1);链表.set(2,num);(num);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2)) );}else{链表.removeLast();("0");}}}else if()==正负号按钮){if(链表.size()==1){String number1=(String)链表.getFirst();try{double d=(number1);d=-1*d;String str=(d);链表.set(0,str);(str);(str);}catch(Exception ee){}}else if(链表.size()==3){String number2=(String)链表.getLast();try{double d=(number2);d=-1*d;String str=(d);链表.set(2,str);(str);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2)) );}catch(Exception ee){}}}else if()==求倒数按钮){if(链表.size()==1||链表.size()==2){String number1=(String)链表.getFirst();try{double d=(number1);d=d;String str=(d);链表.set(0,str);(str);(str);}catch(Exception ee){}}else if(链表.size()==3){String number2=(String)链表.getLast();try{double d=(number2);d=d;String str=(d);链表.set(2,str);(str);(""+((String)链表.get(0))+((String)链表.get(1))+((String)链表.get(2)));}catch(Exception ee){}}}else if()==清零按钮){是否按下等号=false;("0");("0");链表.clear();}}public static void main(String args[]){new ComputerPad();}}。