计算器怎么编程java_java编程中怎样实现一个计算器
展开全部
给你一个,前几天写e5a48de588b63231313335323631343130323136353331333264663637的
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.DecimalFormat;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator {
private JFrame f = new JFrame("Calculator");
private JPanel inputPanel = new JPanel();
private JPanel operationPanel = new JPanel();
private JPanel buttonsPanel = new JPanel();
private JTextField input = new JTextField(20);
private JButton backspace = new JButton("BackSpace");
private JButton CE = new JButton("CE ");
private JButton C = new JButton("C ");
private JButton add = new JButton("+");
private JButton sub = new JButton("-");
private JButton mul = new JButton("*");
private JButton div = new JButton("/");
private JButton decimal = new JButton(".");
private JButton equal = new JButton("=");
private JButton zero = new JButton("0");
private JButton one = new JButton("1");
private JButton two = new JButton("2");
private JButton three = new JButton("3");
private JButton four = new JButton("4");
private JButton five = new JButton("5");
private JButton six = new JButton("6");
private JButton seven = new JButton("7");
private JButton eight = new JButton("8");
private JButton nine = new JButton("9");
private String num1 = "";
private String operator = "";
public static void main(String[] args) {
new Calculator();
}
public Calculator(){
inputPanel.add(input);
f.add(inputPanel, BorderLayout.NORTH);
operationPanel.add(backspace);
operationPanel.add(CE);
operationPanel.add(C);
f.add(operationPanel, BorderLayout.CENTER);
buttonsPanel.add(add);
buttonsPanel.add(sub);
buttonsPanel.add(mul);
buttonsPanel.add(div);
buttonsPanel.add(one);
buttonsPanel.add(two);
buttonsPanel.add(three);
buttonsPanel.add(zero);
buttonsPanel.add(four);
buttonsPanel.add(five);
buttonsPanel.add(six);
buttonsPanel.add(decimal);
buttonsPanel.add(seven);
buttonsPanel.add(eight);
buttonsPanel.add(nine);
buttonsPanel.add(equal);
buttonsPanel.setLayout(new GridLayout(4, 4));
f.add(buttonsPanel, BorderLayout.SOUTH);
backspace.addMouseListener(new OperationMouseListener());
CE.addMouseListener(new OperationMouseListener());
C.addMouseListener(new OperationMouseListener());
decimal.addMouseListener(new OperationMouseListener());
equal.addMouseListener(new OperationMouseListener());
add.addMouseListener(new CalcMouseListener());
sub.addMouseListener(new CalcMouseListener());
mul.addMouseListener(new CalcMouseListener());
div.addMouseListener(new CalcMouseListener());
zero.addMouseListener(new NumberMouseListener());
one.addMouseListener(new NumberMouseListener());
two.addMouseListener(new NumberMouseListener());
three.addMouseListener(new NumberMouseListener());
four.addMouseListener(new NumberMouseListener());
five.addMouseListener(new NumberMouseListener());
six.addMouseListener(new NumberMouseListener());
seven.addMouseListener(new NumberMouseListener());
eight.addMouseListener(new NumberMouseListener());
nine.addMouseListener(new NumberMouseListener());
f.setVisible(true);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class NumberMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e) {
if(input.getText().trim().equals("0")){
input.setText(((JButton)e.getSource()).getText().trim());
}else{
input.setText(input.getText().concat(((JButton)e.getSource()).getText().trim()));
}
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
private class CalcMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e) {
num1 = input.getText().trim();input.setText("");
operator = ((JButton)e.getSource()).getText().trim();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
private class OperationMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e) {
if(e.getSource() == backspace){
String inputText = input.getText();
if(inputText.length() > 0){
input.setText(inputText.substring(0, inputText.length() - 1));
}
}else if(e.getSource() == C){
input.setText("0");
num1 = "";
}else if(e.getSource() == CE){
input.setText("0");
}else if(e.getSource() == decimal){
String text = input.getText().trim();
if(text.indexOf(".") == -1){
input.setText(text.concat("."));
}
}else if(e.getSource() == equal){
if(!operator.trim().equals("")){
if(!input.getText().trim().equals("")){
double result = 0D;
if(operator.equals("+")){
result = Double.parseDouble(num1) + Double.parseDouble(input.getText().trim());
}else if(operator.equals("-")){
result = Double.parseDouble(num1) - Double.parseDouble(input.getText().trim());
}else if(operator.equals("*")){
result = Double.parseDouble(num1) * Double.parseDouble(input.getText().trim());
}else if(operator.equals("/")){
result = Double.parseDouble(num1) / Double.parseDouble(input.getText().trim());
}
input.setText(new DecimalFormat("#.00").format(result));
}
}
}
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
}
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
计算器怎么编程java_java编程中怎样实现一个计算器相关推荐
- java小编程----反转字符串中的每一个单词
package com.henu.four;public class Test07_3 {// String str= "abc god 中国 java"(较难) 反转每个单词pu ...
- java编写某计算器控制台程序_用java程序编写一个计算器
点击查看用java程序编写一个计算器具体信息 答:给你一个参考,希望不要被百度吞了当晚餐 import java.awt.BorderLayout; import java.awt.GridLayou ...
- 老虎过河编程java_Java编程实例:青蛙过河程序及其解析
题目:一条小溪上7块石头,如图所示: 分别有六只青蛙:A,B,C,D,E,F.A,B,C三只蛙想去右岸,它们只会从左向右跳;D,E,F三只蛙想去左岸,它们只会从右向左跳.青蛙每次最多跳到自己前方第2块 ...
- 栈的应用c语言计算器思路,请问,用c语言做一个计算器 包括+-*/()的运算 用栈 该怎么做...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #define UINT unsigned int struct LOGIC { UINT logic,site; } ...
- 如何用计算机算出身高,Excel中制作身高体重计算器的操作方法
使用excel制作身高体重计算器的方法就是,根据身高体重计算身高体重系数,这是一个国际标准系数,可以判断一个人的胖瘦,然后根据男女不同的标准对这个系数进行判断,进而获得专家的建议.通过这个计算器,你可 ...
- 小飞计算器(小飞可编程复数计算器)用户手册
版权所有.所有权利保留. 欢迎转载,转载时请注明出处: http://blog.csdn.net/xiaofei_it/article/details/18676049 本软件特色 ·可编程,程序员可 ...
- 电脑用java怎么编程,使用java编程从0到1实现一个简单计算器
学习编程语言最重要的就是实践.很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践.那么,今天我们一起来动手做一个小计算器,回顾下学习过的知识,同时这也是很多大学计算机专 ...
- 手把手教计算机编程,手把手教你实现iphone计算器,原来这就是编程思维,懂了!...
何为编程思想? 编程其实就是计算机在用它自己的方式模拟人类解决问题的行为. 编程思想,说起来可能很玄乎,但是其思维方式可以与人类思维方式映照,只是计算机和人类的的处理和实现方式不同. 下面就以一个很经 ...
- shell编程系列7--shell中常用的工具find、locate、which、whereis
shell编程系列7--shell中常用的工具find.locate.which.whereis1.文件查找之find命令语法格式:find [路径] [选项] [操作]选项 -name 根据文件名查 ...
最新文章
- sharepoint自带JS函数获取URL参数
- “双向链表的一些基本操作”
- oracle11g-expdp-impdp步骤
- JAVA方法调用中的解析与分派
- 【Lucene4.8教程之六】QueryParser与Query子类:如何生成Query对象
- 文献学习(part38)--Adaptive hash retrieval with kernel based similarity
- C++: 06---构造函数析构函数
- Zbrush风格化角色大神!带你感受别致性感美学!
- 使用Picker的时候,让input输入框使用焦点,手机键盘不弹出
- 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
- 戴尔服务器t330可以用无线网卡吗,DELL T330服务器安装windows2008R2系统
- Android AIDL原理
- 《麻辣江湖》即将上线!
- word怎么填满一页_Word文档如何让插入的表格自动充满整个页 – 手机爱问
- UnityEngine.Quaternion.LookRotation的使用(感觉这个用着还不错做一个笔记)
- Linux清理入侵痕迹
- 爬虫——Python爬英文文献ScienceDirect论文的标题、摘要,并保存在本地
- 麦马计算机科学和麦马数学专业,积极配合 成功申请麦克马斯特大学数学专业...
- 手机sd卡恢复工具android版,SD卡数据恢复软件
- SQL Server如何显示行号
热门文章
- JSK-353 求同存异【暴力+排序+二分】
- HDU2006 求奇数的乘积【入门】
- Java 接口(interface)的三种类型
- Python Flask Web 第三课 —— 模板
- 【笔试/面试】—— 判断一个链表是否有环
- 机器学习算法工程师的经典面试问题
- java char的意思,java – @(#)字符的含义
- python学来干什么-学 Python 都用来干嘛的?
- python入门到精通 pdf-运维必备Python基础入门到精通.pdf
- python是什么意思中文-python是什么意思中文翻译