欢迎来到加倍考研网! 北京 上海 广州 深圳 天津
微信二维码
在线客服 40004-98986
推荐适合你的在职研究生专业及院校

计算器的运用与功能探索的研究报告

八尾猫
黑头发
发看下参考的没有参考的呢,所以我才来提问

Java计算器实验报告(含代码),急!!!!

上下有等
长江侠
给你一个吧。import java.awt.BorderLayout; import java.awt.Color; 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; /** * 一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。 * 但还不支持键盘操作。 */ public class Calculator extends JFrame implements ActionListener { /** 计算器上的键的显示名字 */ private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" }; /** 计算器上的功能键的显示名字 */ private final String[] COMMAND = { "Backspace", "CE", "C" }; /** 计算器左边的M的显示名字 */ private final String[] M = { " ", "MC", "MR", "MS", "M+" }; /** 计算器上键的按钮 */ private JButton keys[] = new JButton[KEYS.length]; /** 计算器上的功能键的按钮 */ private JButton commands[] = new JButton[COMMAND.length]; /** 计算器左边的M的按钮 */ private JButton m[] = new JButton[M.length]; /** 计算结果文本框 */ private JTextField resultText = new JTextField("0"); // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit = true; // 计算的中间结果。 private double resultNum = 0.0; // 当前运算的运算符 private String operator = "="; // 操作是否合法 private boolean operateValidFlag = true; /** * 构造函数 */ public Calculator(){ super(); //初始化计算器 init(); //设置计算器的背景颜色 this.setBackground(Color.LIGHT_GRAY); this.setTitle("计算器"); //在屏幕(500, 300)坐标处显示计算器 this.setLocation(500, 300); //不许修改计算器的大小 this.setResizable(false); //使计算器中各组件大小合适 this.pack(); } /** * 初始化计算器 */ private void init() { // 文本框中的内容采用右对齐方式 resultText.setHorizontalAlignment(JTextField.RIGHT); // 不允许修改结果文本框 resultText.setEditable(false); // 设置文本框背景颜色为白色 resultText.setBackground(Color.white); //初始化计算器上键的按钮,将键放在一个画板内 JPanel calckeysPanel = new JPanel(); //用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3)); for (int i = 0; i < KEYS.length; i++) { keys[i] = new JButton(KEYS[i]); calckeysPanel.add(keys[i]); keys[i].setForeground(Color.blue); } //运算符键用红色标示,其他键用蓝色表示 keys[3].setForeground(Color.red); keys[8].setForeground(Color.red); keys[13].setForeground(Color.red); keys[18].setForeground(Color.red); keys[19].setForeground(Color.red); //初始化功能键,都用红色标示。将功能键放在一个画板内 JPanel commandsPanel = new JPanel(); //用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 commandsPanel.setLayout(new GridLayout(1, 3, 3, 3)); for (int i = 0; i < COMMAND.length; i++) { commands[i] = new JButton(COMMAND[i]); commandsPanel.add(commands[i]); commands[i].setForeground(Color.red); } //初始化M键,用红色标示,将M键放在一个画板内 JPanel calmsPanel = new JPanel(); //用网格布局管理器,5行,1列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calmsPanel.setLayout(new GridLayout(5, 1, 3, 3)); for (int i = 0; i < M.length; i++) { m[i] = new JButton(M[i]); calmsPanel.add(m[i]); m[i].setForeground(Color.red); } //下面进行计算器的整体布局,将calckeys和command画板放在计算器的中部, //将文本框放在北部,将calms画板放在计算器的西部。 //新建一个大的画板,将上面建立的command和calckeys画板放在该画板内 JPanel panel1 = new JPanel(); //画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为3象素 panel1.setLayout(new BorderLayout(3, 3)); panel1.add("North", commandsPanel); panel1.add("West", calckeysPanel); //建立一个画板放文本框 JPanel top = new JPanel(); top.setLayout(new BorderLayout()); top.add("Center", resultText); //整体布局 getContentPane().setLayout(new BorderLayout(3, 5)); getContentPane().add("North", top); getContentPane().add("Center", panel1); getContentPane().add("West", calmsPanel); //为各按钮添加事件侦听器 //都使用同一个事件侦听器,即本对象。本类的声明中有implements ActionListener for (int i = 0; i < KEYS.length; i++) { keys[i].addActionListener(this); } for (int i = 0; i < COMMAND.length; i++) { commands[i].addActionListener(this); } for (int i = 0; i < M.length; i++) { m[i].addActionListener(this); } } /** * 处理事件 */ public void actionPerformed(ActionEvent e) { //获取事件源的标签 String label = e.getActionCommand(); if (label.equals(COMMAND[0])){ //用户按了"Backspace"键 handleBackspace(); } else if (label.equals(COMMAND[1])) { //用户按了"CE"键 resultText.setText("0"); } else if (label.equals(COMMAND[2])){ //用户按了"C"键 handleC(); } else if ("0123456789.".indexOf(label) >= 0) { //用户按了数字键或者小数点键 handleNumber(label); // handlezero(zero); } else { //用户按了运算符键 handleOperator(label); } } /** * 处理Backspace键被按下的事件 */ private void handleBackspace() { String text = resultText.getText(); int i = text.length(); if (i > 0) { //退格,将文本最后一个字符去掉 text = text.substring(0, i - 1); if (text.length() == 0) { //如果文本没有了内容,则初始化计算器的各种值 resultText.setText("0"); firstDigit = true; operator = "="; } else { //显示新的文本 resultText.setText(text); } } } /** * 处理数字键被按下的事件 * @param key */ private void handleNumber(String key) { if (firstDigit) { //输入的第一个数字 resultText.setText(key); } else if ((key.equals(".")) && (resultText.getText().indexOf(".") < 0)){ //输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面 resultText.setText(resultText.getText() + "."); } else if (!key.equals(".")) { //如果输入的不是小数点,则将数字附在结果文本框的后面 resultText.setText(resultText.getText() + key); } //以后输入的肯定不是第一个数字了 firstDigit = false; } /** * 处理C键被按下的事件 */ private void handleC() { //初始化计算器的各种值 resultText.setText("0"); firstDigit = true; operator = "="; } /** * 处理运算符键被按下的事件 * @param key */ private void handleOperator(String key) { if (operator.equals("/")) { //除法运算 //如果当前结果文本框中的值等于0 if (getNumberFromText() == 0.0){ //操作不合法 operateValidFlag = false; resultText.setText("除数不能为零"); } else { resultNum /= getNumberFromText(); } } else if (operator.equals("1/x")) { //倒数运算 if (resultNum == 0.0){ //操作不合法 operateValidFlag = false; resultText.setText("零没有倒数"); } else { resultNum = 1 / resultNum; } } else if (operator.equals("+")){ //加法运算 resultNum += getNumberFromText(); } else if (operator.equals("-")){ //减法运算 resultNum -= getNumberFromText(); } else if (operator.equals("*")){ //乘法运算 resultNum *= getNumberFromText(); } else if (operator.equals("sqrt")) { //平方根运算 resultNum = Math.sqrt(resultNum); } else if (operator.equals("%")){ //百分号运算,除以100 resultNum = resultNum / 100; } else if (operator.equals("+/-")){ //正数负数运算 resultNum = resultNum * (-1); } else if (operator.equals("=")){ //赋值运算 resultNum = getNumberFromText(); } if (operateValidFlag) { //双精度浮点数的运算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 == 0) { resultText.setText(String.valueOf(t1)); } else { resultText.setText(String.valueOf(resultNum)); } } //运算符等于用户按的按钮 operator = key; firstDigit = true; operateValidFlag = true; } /** * 从结果文本框中获取数字 * @return */ private double getNumberFromText() { double result = 0; try { result = Double.valueOf(resultText.getText()).doubleValue(); } catch (NumberFormatException e){ } return result; } public static void main(String args[]) { Calculator calculator1 = new Calculator(); calculator1.setVisible(true); calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

android开发计算器设计开发报告

伦敦梦
其孰承翼
去百度文库,查看完整内容>内容来自用户:灰色渐进波波Xx大学计算机与电子信息学院 《移动编程技术》 安卓程序开发设计报告---简单计算器|《安卓开发》程序设计报告题目|简单计算器开发|专业(班级)|网工111班|姓名|张波波|学号|952937885(qq)|指导教师|赵(老师)|日期|2014.5.7|目录一、设计说明:31.设计内容:Android简单应用程序开发,简单计算器。32程序说明:3二、开发环境:3三、概要设计:33.1 系统的总体 3四、程序流程和系统功能设计44.1程序流程设计 44.2.系统功能设计 54.3基于Android平台系统具体设计 54.3.1 总体模块详细设计 54.3.2 输入模块详细设计64.3.3 显示模块详细设计 74.3.4 计算模块详细设计7五、计算器系统实现 85.1 Android应用程序构成 8六、截图说明91、图标92界面93运算界面94错误输入105设计平台界面106签名导出apk11七、总结12课程设计任务书1、计算器界面友好,方便使用。2、具有基本的加、减、乘、除功能,还有+—、开方、平方功能。3、能够判断用户输入运算数是否正确。4、4、支持小数运算。5、具有退格功能,能够删除最后一个输入,ce。6、具有清除功能,删除所有,c。7、具有结果存储功能,能够显示存储器状态,支持触屏手机总体模块的作用主要是生成应用程序的主类,控制应用程序的生命

求计算器编程的设计报告一份,要求用word文档的

祸福无有
行露
Java课程设计报告 设计内容:计算器 姓名:学号:专业班级: 指导教师:时 间: 一.程序内容及功能:该程序是一个图形界面的计算器,其界面主要采用了NetBeans中的控件及按钮,程序实现了计算器的基本功能有:加、减、乘、除基本算术运算。二.设计思路及框图2.1思路及参考对象设计这个计算器主要是参考操作系统中自带的计算器由于编者水平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计,但现在大多数的设计都是代码直接生成的计算器,不能体现出NetBeans开发工具的特点,所以只在控件事件中可以吸收其优点及方法。2.2设计框图设计时先在设计界面中添加按钮控件,后在按钮的MouseClick事件中添加代码完成其功能其中调用了Java类中的Math函数库以及各种串操作。三.程序部分源代码及注释: private void jButton31ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: i = new Double (display.getText()); result = i.doubleValue(); display.setText(""+Math.sqrt(result)); } private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: //NumPanel.point = true; display.setText(""+ temp); } private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: i = new Double (display.getText()); temp = i.doubleValue(); } private void jButton13ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: //NumPanel.point = false; display.setText(""); } display.setText("0.0"); i = new Double (display.getText()); display.setText(""); //NumPanel.point = false; result = 0.0; counter = 0; opera = 0; count = 0; } private void jButton30ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: if(counter==0) { i = new Double (display.getText()); display.setText(""); result = result + i.doubleValue(); counter++; opera=4; } else if (counter !=0 && opera==4) { i = new Double (display.getText()); display.setText(""); result = result / i.doubleValue(); opera = 4; } else if (counter !=0 && opera==1) { i = new Double (display.getText()); display.setText(""); result = result + i.doubleValue(); opera = 4; } else if (counter !=0 && opera==2) { i = new Double (display.getText()); display.setText(""); result = result - i.doubleValue(); opera = 4; } else if (counter !=0 && opera==3) { i = new Double (display.getText()); display.setText(""); result = result * i.doubleValue(); opera = 4; } } private void jButton35ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 将在此处添加您的处理代码: if(counter==0) { i = new Double (display.getText()); display.setText(""); result = result + i.doubleValue(); counter++; opera=3; } else if (counter !=0 && opera==3) { i = new Double (display.getText()); display.setText(""); result = result * i.doubleValue(); opera = 3; } else if (counter !=0 && opera==1) { i = new Double (display.getText()); display.setText(""); result = result + i.doubleValue(); opera = 3; } else if (counter !=0 && opera==2) { i = new Double (display.getText()); display.setText(""); result = result - i.doubleValue(); opera = 3; } 四.运行结果四.设计心得此程序只是简单的加减乘除运算器。水平有限,只能读懂这些程序。至于其他的算术功能,会在后期尽量完成,我觉得通过这次的实习操作,我了解了NETBEANS的一些操作,学到了JAVA的一些知识。

大一c语言编程实现计算器功能实验报告

从天之理
#include "stdio.h"int main(){ int a,b,c; do {  system("cls");  printf("      计算器菜单 ");  printf("======================== ");  printf("1:计算  a+b ");  printf("2: 计算  a-b ");  printf("3: 计算  a*b ");  printf("4: 计算  a/b ");  printf("5: 计算  a%b ");  printf("0: 退出 ");  printf("请选择(0-5):");  scanf("%d",&c);  if(c!=0)  {   printf("请输入a:");   scanf("%d",&a);   printf("请输入b:");   scanf("%d",&b);   switch(c)   {    case 1: printf("a+b=%d",a+b); break;    case 2: printf("a-b=%d",a-b); break;    case 3: printf("a*b=%d",a*b); break;    case 4: printf("a/b=%d",a/b); break;    case 5: printf("a%b=%d",a%b); break;    default: break;   }   printf(" 按任意键继续......");   getch();  } } while(c!=0); return 0;}概要设计 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明)。 就按上面的这个随便说说好么?

计算器对运算能力影响的调查与研究有什么内容可写

书之言曰
科技改变本能创新的动力来源于 懒

嵌入式C#计算器的设计报告。

不差米
六府
1. 4X4键盘输入,点阵字符型液晶显示。2. 由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运算采用3字节二进制补码表示,有效数字6位。对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。3. 可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。4. 可进行错误判断,溢出、除零等错误将显示一个字符 E 。5. 由于键盘只有16个按键,安排如下: +---------------+ | 7 | 8 | 9 | + | | 4 | 5 | 6 | - | | 1 | 2 | 3 | * | | 0 | . | = | / | +---------------+6. 按键的缺少导致取消了一些特殊函数,即开根号,三角函数(sin, cos, tan, ctg)的实现,由于这些函数在浮点程序库中均已提供,如果硬件允许,在原来的框架上添加这些附加功能是很容易的(可以看作和+, -, *, /等价的按键操作,调用不同的子程序进行运算即可)7. 按两次 = 等于清灵。因为按键实在太少,才采用了这个做法。8. 相应举例: 按键 结果 说明- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 123+= 123 按下等号而没有第二个操作数,保留第一个操作数 并认为此次运算结束(等号的功能) 123+321/111 4.0 等价于(123+321) / 111 2.3+5.4=/0.1+ 77 等号后直接按 / ,则将前面的运算结果作为第一个 操作数 1/0= E 错误显示要源码去这里:另外,虚机团上产品团购,超级便宜

帮忙写下Java计算器实验报告的系统总体设计和具体实现这两个部分!!

长生殿
病间
有现成的,你要不? 要的话发站内信!

各位专家:MATLAB GUI设计科学计算器的关键函数总结下呗??需要写报告里

及其患至
可约
额,这位大侠,你不给个代码什么的,谁知道你里面有什么关键函数呀?给你一只鸟腿,你知道它是什么鸟吗???还没编呢、、、、这不是论文的开题报告嘛、、、再说了都说是干什么的了、、大侠应该知道会用什么的吧追答计算器,那就是加减乘除,求余数、开方、平方、sin、cos、tan、数值进制的转换等喽,这就算高级了