用代码实现计算器类(Calculator)

【提示:
编写Calculator类:
1. 定义成员变量为运算符1(num1)和运算符2(num2)
2. 实施成员方法“加”(add)、“减”(minus)、“乘”(multiple)和“除”(divide)

0

1个回答

 class Calculator
{
public:
    int num1;
    int num2;
    int add()
    {
        return num1 + num2;
    }
    int minus()
    {
        return num1 - num2;
    }
    int multiple()
    {
        return num1 * num2;
    }
    int divide()
    {
        return num1 / num2;
    }
};
1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++ 计算器Calculator类实现
首先祝贺我会插入源代码了。。汗。。原来都不知道还有这个功能。。 然后是我今天实现的Calculator类。。分享一下,基于C++程序设计语言第六章的计算器程序。计算器使用“递归下降”的算法(一种流行的直截了当的自顶向下技术),按照表达式-》子表达式-》项 这一顺序递归向下求值。然后首先项会返回这个项的类型,为数字、符号、变量等(枚举Token_value描述项的类型),接着将项向上返回给字表达式
用java实现简单的计算器(基于Calculator)
关于Calculator的实现和安装,请参见大神博客:https://www.cnblogs.com/woider/p/5331391.html 转载请注明出处 我只是在次基础上,借了一下“轮子”。再次感谢大神。 只要是按钮上有的,本计算器都可以支持的哦! 成品截图: 这里给出文件分布图: Java可执行文件链接 https://coding.net/u/ping...
第十一章 类的无参方法 简答题3 计算器
package cn.jbit.test.day11; public class Calculator { public double num1;// 数字1 public double num2;// 数字2 public char fuhao;// 运算符 double sum = 0; public void show() {// 方法 switch (fuhao) {
C++程序代码:类实现——【calculator】计算器程序设计
1.使用类的方式:                                                                                1-Calculator.cpp主函数 #include "Math.h" #include <iostream> using namespace std; Maths m; int main() ...
设计一个计算器类Calculator,它只有一个计数的成员count。该计算器的有效范围说0~65535,实现计算器的前自增、后自增、前自减、后自减、两个计算器相加减等运算
#include using std::cout; using std::endl;  class Calculator{   private:       double count;   public:       Calculator(double a):count(a){};       double getcount(){           return count;
Java Calculator(计算器)功能描述
1.基本加减乘除    3+5=8    3-2=1 2.连续加减乘除             (( 3+5)*7-3)/2 = 26.5  
作业一学期二书十二章
1.根据输入1~12的数字,判断的是春夏秋冬那个季节,要求使用方法定义四个季节。 package sra; import java.util.Scanner; public class DJ12word1 { String spring(){ return “该季节为春季”; } String summer(){ return...
计算器核心算法代码实现(Java)
在进行一个表达式的计算时,先将表达式分割成数字和字符串然后利用出入栈将分割后的表达式进行中缀转后缀,再将后缀表达式进行计算得到结果(思想在上一篇写过)现在贴下Java语言的代码实现。(学习Java时间不长所以可能会有很多不足的地方,我会改进也欢迎大神可以给我一些意见和建议~谢谢啦) 我将这部分分成三个方法完成功能,并在getResult方法调用(getResult方法被主方法调用)   p...
calculator 计算器 re模块运用
最近几周迷上了Python,看了几天的Python后,尝试着写了一个计算器,经过几个小时的硬怼 总算是用正则表达式实现了计算器符合运算的功能。只要会了正则表达式,那就没啥难的了,主要还是正则的运用。只实现了计算,没写判断输入的是否合法,以后有心情的话再加吧。 code: # @Time : 2018/6/10 17:34 # @Author : 非人类浩 import re def ...
定义一个计算器类
class Calculate{ int add(int number1, int number2){ int result = number1+number2;    return result; } void swap(int number1, int number2){ int temp; temp = number1; number1 = number2; number2
编写一个包含名为Calculator类的程序--------java练习题
package com.test; /* * 编写一个包含名为Calculator类的程序。 * 定义两个整型属性以及对该两个变量的setter和getter, * 编写用于对两个属性执行加、减、乘、除运算方法。 * 在main方法里创建该类的对象并访问这些方法。 */ public class Test4 { public static void main(String[] arg...
Ryzen DRAM Calculator 1.1.0 beta2
Ryzen DRAM Calculator 1.1.0 beta2最新版本的内存超频计算器,更新了大量数据库,参数更可靠,挖掘内存潜力的得力助手
Java程序设计之简单计算器
问题描述:请使用Java编程语言设计一个简易计算器,能够实现基本的运算功能。 Java程序源码: import java.awt.*; import java.awt.event.*; import javax.swing.*; class simplecalculator { static String point=new String(); static String Amal=...
定义一个计算器类,包括加、减、乘、除运算。
package counter;import java.util.Scanner;public class Counter { public static void main(String[] args) {  Scanner m= new Scanner(System.in);  System.out.println("请输入第一个要计算的数:");  double num1 = m.nextD...
DRAM-Calculator-for-Ryzen-1.4.1
Ryzen内存计算器 1.4.1版,支持Ryzen+ 2700X,支持三星、海力士、镁光颗粒
C# Calculator(数学运算器算法例子)
C#使用自定义控件用法演示,以一个计算点击的小控件为例子,演示如何在C#的代码中调用该控件,实现窗体与控件的互相值传递、交互等操作,在如图所示的窗口中,点击按钮一下,主窗体颜色区会标记出点击次数。
java编写的计算器,能实现加减乘除
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import java.lang.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.awt.Component.*; import java.awt.color.*; import java.text.DecimalFormat; //*****************************************************************************// //*****************************************************************************// public class Calculator implements ActionListener //导入动作监听接口 { //******************************// //*****设计计算器界面的单位*****// JFrame frame; //定义框架 JTextField textAnswer; //定义输出显示框 JPanel panel, panel1, panel2, panel3;//定义面板作为子容器,从而达到要求的界面效果 JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[]; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi; double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 boolean clear = false; String copy; //做复制用 JTextArea help; //帮助 JScrollPane scrollHelp; static boolean One =true; //******************// //*****构造函数开始*****// public Calculator() { clickable = true; answerd = 0; frame = new JFrame("梦幻计算器--SWE08008"); frame.setResizable(false);//不允许改变计算器的大小 frame.setLocation(250,150);//设置计算器的起始位置 frame.setBackground(Color.YELLOW); df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值) textAnswer = new JTextField("0"); textAnswer.setHorizontalAlignment(JTextField.RIGHT);//设置使数字居右 textAnswer.setText("0"); //textAnswer.setBackground(Color.pink);//设置输出显示框的背景颜色 textAnswer.setSelectionColor(Color.white);//设置选择部分的颜色 textAnswer.setEditable(false); //把输出显示框定义为不可写 textAnswer.setBackground(new Color(182,174,174)); //设置输出显示框的背景颜色 panel = new JPanel(); frame.getContentPane().add(panel); panel1 = new JPanel(); panel2 = new JPanel(); panel.setLayout(new BorderLayout()); //***设计整个面板*** //*********将所有行为与监听绑定********** //*设置菜单* mainMenu = new JMenuBar(); editMenu = new JMenu("编辑(E)"); viewMenu = new JMenu("查看(V)"); helpMenu = new JMenu("帮助(H)"); //***编辑 copyItem = new JMenuItem(" 复制(C) Ctrl+C"); copyItem.addActionListener(this); pasteItem = new JMenuItem(" 粘贴(V) Ctrl+V"); pasteItem.addActionListener(this); editMenu.add(copyItem); editMenu.add(pasteItem); //***查看 tItem = new JMenuItem(" 标准型(T)"); tItem.addActionListener(this); sItem = new JMenuItem(" 科学型(S)"); sItem.addActionListener(this); numberGroup = new JMenuItem(" 数字分组(I)"); numberGroup.addActionListener(this); viewMenu.add(tItem); viewMenu.add(sItem); viewMenu.add(numberGroup); //***帮助 topHelp = new JMenuItem(" 帮助主题(H)"); topHelp.addActionListener(this); help = new JTextArea(10, 30); scrollHelp = new JScrollPane(help); help.setEditable(false); //把输出显示框定义为不可写 help.setBackground(Color.GRAY); help.setSelectedTextColor(Color.white); //设置topHelp的显示内容 help.append("如何执行简单的运算?\n"); help.append("基本步骤:\n"); help.append("1. 键入计算的第一个数字。\n"); help.append("2. 单击 + 执行加; - 执行减、* 执行乘、/执行除。\n"); help.append("3. 键入计算的下一个数字。\n"); help.append("4. 输入所有剩余的运算符和数字。\n"); help.append("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); aboutCal.setForeground(Color.MAGENTA); aboutCal.addActionListener(this); myCollege =new JMenuItem(" 进入我的学院(W)"); myCollege.addActionListener(this); helpMenu.add(topHelp); helpMenu.add(aboutCal); helpMenu.add(myCollege); //主菜单条 mainMenu.add(editMenu); mainMenu.add(viewMenu); mainMenu.add(helpMenu); //把mainMenu、textAnswer、panel1都放进panel容器中,用BorderLayout布局管理器管理 panel.add(mainMenu, BorderLayout.NORTH); panel.add(textAnswer, BorderLayout.CENTER); panel.add(panel1, BorderLayout.SOUTH); panel1.setLayout(new BorderLayout()); textMemory = new JTextField(3); textMemory.setEditable(false); textMemory.setBackground(new Color(217, 217, 217)); labelMemSpace = new JLabel(" "); //*添加计算器界面上的按钮* //Backspace CE C buttonBk = new JButton("Backspace"); buttonBk.setForeground(new Color(255, 0, 0)); buttonCe = new JButton("CE"); buttonCe.setForeground(new Color(255, 0, 0)); buttonC = new JButton("C"); buttonC.setForeground(new Color(255, 0, 0)); buttonBk.addActionListener(this); buttonCe.addActionListener(this); buttonC.addActionListener(this); panel1.add(panel2, BorderLayout.NORTH); //把panel2放到panel1中,用BorderLayout管理器管理 panel2.setLayout(new FlowLayout(FlowLayout.RIGHT)); panel2.add(textMemory); panel2.add(labelMemSpace); panel2.add(buttonBk); panel2.add(buttonCe); panel2.add(buttonC); panel3 = new JPanel(); panel1.add(panel3, BorderLayout.CENTER); //把panel3放到panel1中,用BorderLayout管理器管理 button = new JButton[10]; for (int i = 0; i < button.length; i++) { button[i] = new JButton(Integer.toString(i)); button[i].setForeground(new Color(0,0,255)); } //MC MR MS M+ buttonMC = new JButton("MC"); buttonMC.setForeground(new Color(0, 0, 0)); buttonMR = new JButton("MR"); buttonMR.setForeground(new Color(0, 0, 0)); buttonMS = new JButton("MS"); buttonMS.setForeground(new Color(0, 0, 0)); buttonMAdd = new JButton("M+"); buttonMAdd.setForeground(new Color(0, 0, 0)); //. + - * / = buttonDot = new JButton("."); buttonDot.setForeground(new Color(0, 0, 0)); buttonAdd = new JButton("+"); buttonAdd.setForeground(new Color(10,224,5)); buttonSub = new JButton("-"); buttonSub.setForeground(new Color(10,224,5)); buttonMul = new JButton("*"); buttonMul.setForeground(new Color(10,224,5)); buttonDiv = new JButton("/"); buttonDiv.setForeground(new Color(10,224,5)); buttonEqual = new JButton("="); buttonEqual.setForeground(new Color(10,224,5)); //sqrt % 1/x +/- buttonSqrt = new JButton("sqrt"); buttonSqrt.setForeground(new Color(224,11,161)); buttonMod = new JButton("%"); buttonMod.setForeground(new Color(224,11,161)); buttonDao = new JButton("1/x"); buttonDao.setForeground(new Color(224,11,161)); buttonAddAndSub = new JButton("+/-"); buttonAddAndSub.setForeground(new Color(224,11,161)); //*用setLayout管理器对panel3按钮进行管理,将所有行为与监听绑定 panel3.setLayout(new GridLayout(4, 6)); panel3.add(buttonMC); buttonMC.addActionListener(this); panel3.add(button[7]); button[7].addActionListener(this); panel3.add(button[8]); button[8].addActionListener(this); panel3.add(button[9]); button[9].addActionListener(this); panel3.add(buttonDiv); buttonDiv.addActionListener(this); panel3.add(buttonSqrt); buttonSqrt.addActionListener(this); panel3.add(buttonMR); buttonMR.addActionListener(this); panel3.add(button[4]); button[4].addActionListener(this); panel3.add(button[5]); button[5].addActionListener(this); panel3.add(button[6]); button[6].addActionListener(this); panel3.add(buttonMul); buttonMul.addActionListener(this); panel3.add(buttonMod); buttonMod.addActionListener(this); panel3.add(buttonMS); buttonMS.addActionListener(this); panel3.add(button[1]); button[1].addActionListener(this); panel3.add(button[2]); button[2].addActionListener(this); panel3.add(button[3]); button[3].addActionListener(this); panel3.add(buttonSub); buttonSub.addActionListener(this); panel3.add(buttonDao); buttonDao.addActionListener(this); panel3.add(buttonMAdd); buttonMAdd.addActionListener(this); panel3.add(button[0]); button[0].addActionListener(this); panel3.add(buttonAddAndSub); buttonAddAndSub.addActionListener(this); panel3.add(buttonDot); buttonDot.addActionListener(this); panel3.add(buttonAdd); buttonAdd.addActionListener(this); panel3.add(buttonEqual); buttonEqual.addActionListener(this); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.pack(); frame.show(); }//*****构造函数结束*****// //设置各个按钮行为 public void actionPerformed(ActionEvent event) { boolean sign = false; //判断是否是double型数参与运算,是为true,不是为false Object temp = event.getSource(); //*********************************// //*****监控可能出现异常的按钮******// //***********try开始***************// try { //o***如果按下数据按钮,将按下的按钮代表的数据插入到当前文本框字符串之后 for (int i = 0; i <= 9; i++) { if (temp == button[i] && clickable == true) { if((clear==true)||(textAnswer.getText().equals("0"))) { textAnswer.setText(Integer.toString(i)); if(clear==true) { clear=false; } } else { textAnswer.setText(textAnswer.getText() + Integer.toString(i)); } } } //o***按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.' if (temp == buttonDot && clickable == true) { boolean isDot = false; for (int i = 0; i < textAnswer.getText().length(); i++) { if ('.' == textAnswer.getText().charAt(i)) { isDot = true; break; } } if (isDot == false) textAnswer.setText(textAnswer.getText() + "."); } //M***如果按下"+"、"-"、"*"、"/""=" if(true) { //o***如果按下"+"、"-"、"*"、"/" if ( (temp == buttonAdd || temp == buttonSub || temp == buttonMul ||temp == buttonDiv) && clickable == true) { if(One==false) { System.out.println("请输入第二个操作数:"); One=true; } if(clear==false) { clear=true; //'+'操作 if (temp == buttonAdd) { switch (prekey) //prekey用来保存前次进行何种运算 { case 0: answerd += Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 1: answerd -= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 2: answerd *= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("操作非法----除数不能为零!"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } break; default:answerd = Double.parseDouble(textAnswer.getText()); } prekey = key = 0; } //'-'操作 if (temp == buttonSub) { switch (prekey) //prekey用来保存前次进行何种运算 { case 0: answerd += Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 1: answerd -= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 2: answerd *= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 3: if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("操作非法----除数不能为零!"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } break; default:answerd = Double.parseDouble(textAnswer.getText()); } prekey = key = 1; } //'*'操作 if (temp == buttonMul) { switch (prekey) //prekey用来保存前次进行何种运算 { case 0:answerd += Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 1:answerd -= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 2:answerd *= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 3:if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("操作非法----除数不能为零!"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } break; default:answerd = Double.parseDouble(textAnswer.getText()); } prekey = key = 2; } //'/'操作 if (temp == buttonDiv) { switch (prekey) //prekey用来保存前次进行何种运算 { case 0:answerd += Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 1:answerd -= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 2:answerd *= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); break; case 3:if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("操作非法----除数不能为零!"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } break; default:answerd = Double.parseDouble(textAnswer.getText()); } prekey = key = 3; } } } //o***如果按下"="键 //'='操作 if (temp == buttonEqual && clickable == true) { //如果连续按'=',则进行连续运算 if (prekey == 5) //prekey用来保存前次进行何种运算 { if (key == 0) //key用来保存当前进行何种运算 { //(vard)用来保存double型数据的中间值;(answerd)用来保存double型数据的最后结果 answerd += vard; textAnswer.setText(df.format(answerd)); } if (key == 1) { answerd -= vard; textAnswer.setText(df.format(answerd)); } if (key == 2) { answerd *= vard; textAnswer.setText(df.format(answerd)); } if (key == 3) { if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("操作非法----除数不能为零!"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= vard; textAnswer.setText(df.format(answerd)); } } } else { vard = Double.parseDouble(textAnswer.getText()); if (key == 0) { prekey = -1; answerd += Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } if (key == 1) { prekey = -1; answerd -= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } if (key == 2) { prekey = -1; answerd *= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } if (key == 3) { prekey = -1; if (Double.parseDouble(textAnswer.getText()) == 0) { textAnswer.setText("除数不能为零"); System.out.println("操作非法----除数不能为零!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { answerd /= Double.parseDouble(textAnswer.getText()); textAnswer.setText(df.format(answerd)); } } } prekey = 5; } } //M如果按下'%''sqrt''1/x''-/+' if(true) { //o'%'操作,对第二个操作数除以100 if (temp == buttonMod && clickable == true) { if (answerd == 0) { String s = textAnswer.getText(); textAnswer.setText(s); } else { boolean isDot = false; for (int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) { isDot = true; break; } //如果是double数,除100 if (isDot == true) { double dtemp = Double.parseDouble(textAnswer.getText()); dtemp = dtemp / 100.0; textAnswer.setText(Double.toString(dtemp)); } else { //如果是int数但能被100整除,则去掉末尾两个零 if (Integer.parseInt(textAnswer.getText()) % 100 == 0) { int itemp = Integer.parseInt(textAnswer.getText()); itemp /= 100; textAnswer.setText(Integer.toString(itemp)); } //如果是int数,但不能被100整除,则按double数处理 else { double dtemp = Double.parseDouble(textAnswer.getText()); dtemp = dtemp / 100.0; textAnswer.setText(Double.toString(dtemp)); } } } } //o开根号运算 if (temp == buttonSqrt && clickable == true) { String s = textAnswer.getText(); if (s.charAt(0) == '-') { textAnswer.setText("负数不能开根号"); System.out.println("操作非法----负数不能开根号!---按C重新开始;按CE继续之前操作!"); clickable = false; } else textAnswer.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(textAnswer.getText())))); } //o倒数运算 if (temp == buttonDao && clickable == true) { if (textAnswer.getText().charAt(0) == '0' && textAnswer.getText().length() == 1) { textAnswer.setText("零不能求倒数"); System.out.println("操作非法----零不能求倒数!---按C重新开始;按CE继续之前操作!"); clickable = false; } else { boolean isDec = true; int i, j, k; String s = Double.toString(1 / Double.parseDouble(textAnswer.getText())); for (i = 0; i < s.length(); i++) if (s.charAt(i) == '.') break; for (j = i + 1; j < s.length(); j++) if (s.charAt(j) != '0') { isDec = false; break; } if (isDec == true) { String stemp = ""; for (k = 0; k < i; k++) stemp += s.charAt(k); textAnswer.setText(stemp); } else textAnswer.setText(s); } } //按下'+/-'按钮时处理 if (temp == buttonAddAndSub && clickable == true) { boolean isNumber = true; String s = textAnswer.getText(); for (int i = 0; i < s.length(); i++) if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' ||s.charAt(i) == '-')) { isNumber = false; break; } if (isNumber == true) { //如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉 if (s.charAt(0) == '-') { textAnswer.setText(""); for (int i = 1; i < s.length(); i++) { char a = s.charAt(i); textAnswer.setText(textAnswer.getText() + a); } } //如果当前字符串第一个字符不是符号,则添加一个符号在首字母处 else textAnswer.setText('-' + s); } } } //***计算器有关内存操作***// //****'MC''MS''MR''M+'事件**** if(true) { //'MC'的操作,将内存清0 if (temp == buttonMC && clickable == true) { memoryd = memoryi = 0; textMemory.setText(""); } //'MS'的操作,将当前文本框内容保存入内存,显示'M' if (temp == buttonMS && clickable == true) { boolean isDot = false; textMemory.setText(" M"); for (int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) { isDot = true; break; } //如果是double,则存入memoryd(double存储器) if (isDot == true) { memoryd = Double.parseDouble(textAnswer.getText()); memoryi = 0; //保证存储器中存放最新的值 } //如果是int,则存入memoryi(int存储器) else { memoryi = Integer.parseInt(textAnswer.getText()); memoryd = 0; //保证存储器中存放最新的值 } } //'MR'的操作,将存储器中的信息输出 if (temp == buttonMR && clickable == true) { if (memoryd != 0) textAnswer.setText(Double.toString(memoryd)); if (memoryi != 0) textAnswer.setText(Integer.toString(memoryi)); } //'M+'的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器 if (temp == buttonMAdd && clickable == true) { boolean isDot = false; for (int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) { isDot = true; break; } if (memoryi != 0) { //存储中是一个int型数 if (isDot == false) //被加数是一个int型数 memoryi += Integer.parseInt(textAnswer.getText()); else { //被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零 memoryd = memoryi + Double.parseDouble(textAnswer.getText()); memoryi = 0; } } else memoryd += Double.parseDouble(textAnswer.getText()); } } //****'Backspace''CE''C'事件**** if(true) { //按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除 if (temp == buttonBk && clickable == true) { String s = textAnswer.getText(); textAnswer.setText(""); for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i); textAnswer.setText(textAnswer.getText() + a); } } //按下'CE'按钮,将当前文本框内数据清除 if (temp == buttonCe) { textAnswer.setForeground(Color.BLACK); textAnswer.setText("0"); clickable = true; clear=false; } //按下'C'按钮,文本框内数据清除,同时var,answer清0 if (temp == buttonC) { if(true) { System.out.println("请输入第一个操作数:"); One=false; } textAnswer.setForeground(Color.BLACK); vard = answerd = 0; textAnswer.setText("0"); clickable = true; clear=false; key = -1; prekey = -1; } } //****菜单栏事件**** if(true) { //按下'复制'菜单栏 if (temp == copyItem) { copy = textAnswer.getText(); } //按下'粘贴'菜单栏 if (temp == pasteItem) { textAnswer.setText(copy); } //按下'标准型'菜单栏 if (temp == tItem) { //无变化 } //按下'科学型'菜单栏 if (temp == sItem) { JOptionPane.showMessageDialog(panel, "当前是标准型梦幻计算器!\n科学型计算器暂时无此功能,期待下一次的升级吧!\n谢谢使用!"); } //按下'数字分组'菜单栏 if (temp == numberGroup) { JOptionPane.showMessageDialog(panel, "梦幻计算器暂时无此功能,期待下一次的升级吧!\n谢谢使用!"); } //按下'帮助主题'菜单栏 if (temp == topHelp) { JOptionPane.showMessageDialog(panel, scrollHelp,"帮助主题",JOptionPane.INFORMATION_MESSAGE); } //按下'关于'菜单栏 if (temp == aboutCal) { JOptionPane.showMessageDialog(panel, "计算器梦幻版!\n欢迎试用,发现错误请指教!\n开发者:洪成果\n学号:SWE08008","关于计算器",JOptionPane.INFORMATION_MESSAGE); } //按下'进入我的学院'菜单栏 if (temp == myCollege) { Process p = Runtime.getRuntime().exec("explorer http://www.jgxy.xmu.edu.cn/index.php"); } } }//try结束 //*******捕获异常:输入中如果有操作非法,比如连续按下两次"+"、"-"、"*"、"/"********// catch (Exception e) { textAnswer.setForeground(Color.green); textAnswer.setText("系统提示:操作非法-------按C重新开始;按CE继续之前操作!"); System.out.println("系统提示:操作非法-------按C重新开始;按CE继续之前操作!"); clickable = false; } //********************************************************************************// } //*********主函数************ public static void main(String args[]) { if(true) { System.out.println("请输入第一个操作数:"); One=false; } //将计算器实例化"梦幻计算器" Calculator MHJSQ=new Calculator(); } }
java运用面向对象的思想实现计算器的小程序
其实,觉得最重要的就是这里的这样的一段核心代码。 package org.lenovo.demo; public class OperationFactory { public static Operation createOperation(String operate){ Operation oper = null; switch(operate){ case "+":
Linux Mint (应用软件:Calculator)
我们在编程时,有时会对二进制或者十六进制数字进行计算,简单的数字口算就可以,复杂的数字就需要动笔了。要是能有一个计算二进制或者十六进制数字的计算器就好了。其实已经有这样的计算器了,只是以前没有发现而已,
Calculator 计算器类
我在FormulaPaster的基础上,写了Calculator 计算器类,提供了模拟一个科学计算器所需的函数. /**  * Calculator 计算器类  * Verson 1.0  * 2006.8.20  * Copyright CYJB */// /*  * 模拟科学计算器的功能  * 1.数据输入及计算(加(+),减(-),乘(*),除(/),乘(^)...
Ryzen DRAM Calculator 0.9.9 V13
Ryzen DRAM Calculator 0.9.9 V13 最新版本的内存超频计算器,更新了大量数据库,参数更可靠,挖掘内存潜力的得力助手
MS开源Calculator编译运行相关问题
今天在github上下载了微软开源的Calculator代码 github.com/Microsoft/calculator 编译要求 1. win10 1803及更新版本(check) 2. 最新版本VS UWPD (check) C++UWP tools (check) 最新版win10 SDK(10.0...
计算器(calculator.jsp)
//说明控制类是CalculatorBean.java String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>  
win10 计算器提示:需要新应用打开此calculator
升级win10后,在“开始“下方搜索不到计算器,运行calc,会出现需要新应用打开此Calculator,打开应用商店,找到计算器,仍然可以被使用,我怀疑是我自己在清理PC的注册表的时候将系统的一些设置修改了,导致c:\Windows\System32\calc这个程序与应用商店里面的计算器之间的对应关系没有了,这样每次运行calc的时候就会出现这种问题。下面是我的解决办法:以管理员身份运行Win...
wxWidgets学习笔记(四):编写一个简易的计算器程序
一、开发环境 操作系统:Fedora 23 集成开发环境:Code::Blocks 16.01 G++版本:5.3.1 GTK+版本:2.24.30(使用命令sudo dnf install gtk2 gtk2-devel gtk2-devel-docs安装) wxWidgets版本:3.1.0(解压源码包后进入顶层目录依次输入./configure、make、sudo make install三条
Android 基于源码的科学计算器——Calculator浅析
帮朋友搞一个Android计算器程序,为了偷懒,直接使用了源码里的计算器。 但偷懒归偷懒,其中的知识还是应该学习的。 好了,下面开始Calculator的浅析之旅   第一步,下载Calculator源码(具体参见博文http://blog.csdn.net/singleton1900/article/details/8434978) git clone https://android.
Java开发的全新计算器(calculator )
本人是Java开发的新手,如果有什么好的建议请联系我, QQ:931335851 mail:han_cheng_jun@163.com
计算器calculator....
计算器calculator计算器calculator计算器calculator
设计一个计算器类Claculator,它只有一个用于计数的数据成员count。该计算器的有效计数范围是0~65535,实现计数器的前自增、后自增、前自减、后自减、两个计算器相加减运算
头文件名:hanshu.h #include"iostream" using namespace std; class Calculator{ private: double count; public: Calculator(double a):count(a){}; double getcount(){ return count; } void operator++(
【Android App】Calculator(二)计算过程详细分析
在上一片文章【Android App】Calculator(一)onCreate过程分析
采用java面向对象的方法设计一个计算器的类,其中计算器中包含了两个整数的加减乘除取余操作,以及一个整数的加一操作和减一操作。 实例化这个计算器类,并给每个方法输入一些测试数据。
采用java面向对象的方法设计一个计算器的类,其中计算器种包含了两个整数的加减乘除取余操作,以及一个整数的加一操作和减一操作。 实例化这个计算器类,并给每个方法输入一些测试数据。 import java.util.*; public class Test { public static void main(String[] args) { System.out.print...
创建一个模块calculator.py,完成任意两个数的加(add)、减(sub)、乘(mult)、除(div)运算;导入该模块,分别调用其中的函数,完成如下操作: 1、25+56 2、86-68 3
模块calculator.py #-*- coding:UTF-8 -*- __author__ = "zhangguodong" __time__ ="2017.09.29" def add(a,b): return a+b def sub(a,b): return a-b def mult(a,b): return a*b def div(a,b):
Google Calculator(谷歌原版计算器)
从谷歌商店下载的,支持安卓5.1及以上,谷歌出品
手写计算器My Script Calculator_1.0.1
手写计算器My Script Calculator_1.0.1
227. Basic Calculator II ——计算器和栈的一些经验
题目 227. Basic Calculator II 思路 思路决定成败,心态可以说一度很崩了。 第一种思路: 复杂标记的数组。不要考虑 第二种思路: 符号栈+数栈。栈便于符号的紧前比较,及时运算。分开两个栈的原因是数据类型的不同。 第三种思路: 数栈,而符号灵活处理。节省了栈的空间以及栈上的操作时间。 思路三归纳总结 这里的数字没什么规律可言,而符号却是突破口。 “+” 和 “-...
面向对象第一章课后作业
1.教员要求张浩使用面向对象的思想编写一个计算器类(Calculator),可以实现两个整数的加、减、乘、除运算。如果你是张      浩,准备如何实现?写出你的思路。package com.homework.demo.test1; /* * 计算器的类 */ public class Calculator { int num1; //第一个整数 int num2; //第二个整数 ...
Java面向对象常见概念
面向对象的特征 三大特征 package com.cloud.day2; /* 面向对象三大特征:    1. 封装    2. 继承    3  多态。 需求:  使用java类描述百合网的会员。 问题:性别有问题?? 根本原因:由于其他人可以直接操作sex属性。可以对sex属性进行了直接的赋值。 封装: 权限修饰符:权限修饰
斯坦福cs193p作业解析之图形计算器(Graph Calculator)
以下链接出自本人原创 http://hksx1987.lofter.com/post/1d09c29d_5e955a2
编写简单的计算器类,实现简单的加减乘除
这是我第一次一个人独立的、完整的完成的一个简单的编程。虽然很简单,但是我觉得最重要的是我有了编程的那种思想,这对我来说已经是很大的进步了。所以记下来,做一个小小的纪念,给自己一点信心。也方便以后的复习和理解。代码可能有点多,但这是我最初的想法,以后想到了会改。大家有什么更好地理解也可以说出来,我就能学到更多啦 呵呵 要求就是:用java编写一个简单的计算器类,实现简单的加减乘除 代码如下:
C#实现简易版计算器(控制台输出)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 计算器 { class Program { static void Main(string[] args) ...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 强化学习java代码实现 java课程设计 计算器