Java语言编写计算器(简单的计算器)
Java编写的一个简单计算器,本人还比较菜,只能这样了,有点代码冗余,不能连续计算。
import javax.swing.*; import java.awt.*;
import java.awt.event.*;
public class calculate extends JFrame {
JButton[] b = new JButton[10];
JPanel panel1 = new JPanel(); // 实例化面板
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JTextField answer=new JTextField(10);
JButton clear=new JButton("清除");
JButton equal=new JButton("=");
JButton point=new JButton(".");
JButton plus=new JButton("+");
JButton minus=new JButton("-");
JButton multi=new JButton("×");
JButton division=new JButton("÷");
String foreText=new String("");
String backText=new String("");
String s=new String();
String s1=new String();
Object op=new String();
Object o=new String();
double d, dFore, dBack;
int i=9;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame calculator =new calculate();
calculator.setVisible(true); }
public calculate(){
setTitle("计算器");
setSize(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();//获取屏幕分辨率
setLocation(screenSize.width/4,screenSize.height/4);//位置
for ( i =9; i>=0; i--) {
b[i] = new JButton(Integer.toString(i));// 实例化数字按钮
b[i].addActionListener(new MyListener1());
panel2.add(b[i]); // 增加按钮到面板 } setLayout(new FlowLayout()); // 设置布局管理器
panel1.setLayout(new FlowLayout());
panel2.setLayout(new GridLayout(4,3,10,8));
panel3.setLayout(new GridLayout(4,1,8,12));
clear.setFont(new Font("隶书",Font.PLAIN,15));
clear.setForeground(Color.RED);
clear.addActionListener(new MyListener1());
equal.setForeground(Color.RED);
equal.addActionListener(new MyListener1());
plus.setForeground(Color.RED);
plus.addActionListener(new MyListener1());
minus.setForeground(Color.RED);
minus.addActionListener(new MyListener1());
multi.setForeground(Color.RED);
multi.addActionListener(new MyListener1());
division.setForeground(Color.RED);
division.addActionListener(new MyListener1());
equal.setFont(new Font("隶书",Font.PLAIN,20));
plus.setFont(new Font("隶书",Font.PLAIN,18));
minus.setFont(new Font("隶书",Font.PLAIN,18));
multi.setFont(new Font("隶书",Font.PLAIN,18));
division.setFont(new Font("隶书",Font.PLAIN,18));
point.addActionListener(new MyListener1());
panel1.add(answer);
panel1.add(clear);
panel2.add(point);
panel2.add(equal);
panel3.add(plus);
panel3.add(minus);
panel3.add(multi);
panel3.add(division);
add(panel1);
add(panel2);
add(panel3);
} class MyListener1 implements ActionListener{
public void actionPerformed(ActionEvent e){ for(int i=0;i<=9;i++) {
if(e.getSource()==b[i]||e.getSource()==point){
answer.setText("");
if(e.getSource()==point){ s=foreText+".";
answer.setText(s);
}else{
if(s!=""){
answer.setText(s+b[i].getText());
foreText=s+b[i].getText();//此处应当修改,
}else{
answer.setText(foreText+b[i].getText());
foreText=foreText+b[i].getText();
}
}
}
}
if(e.getSource()==clear){
foreText="";
s="";
answer.setText("");
}
if(e.getSource()==plus||e.getSource()==minus||e.getSource()==multi||e.getSource()==division){
dFore=Double.parseDouble(foreText);
s="";
foreText="";
answer.setText("");
op=e.getSource();
}
if(e.getSource()==equal){
dBack=Double.parseDouble(foreText);
foreText="";
answer.setText("");
if(op==plus){
d=dFore+dBack;
}
if(op==minus){
d=dFore-dBack;
}
if(op==multi){
d=dFore*dBack;
}
if(op==division){
d=dFore/dBack;
}
answer.setText(""+d);
}
}
}
}
运行截图
Java语言编写计算器(简单的计算器)的更多相关文章
- 用java语言编写的简单二叉树
package com.cjonline.foundation.evisa; public class TestTree { private int data=-1; private TestTree ...
- 第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...
- 留念 C语言第一课简单的计算器制作
留念 C语言第一课简单的计算器制作 学C语言这么久了. /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h> #include<stdlib.h ...
- C 语言实例 - 实现简单的计算器
C 语言实例 - 实现简单的计算器 实现加减乘除计算. 实例 # include <stdio.h> int main() { char operator; double firstNum ...
- 使用java语言编写窗口按钮
使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...
- 用C语言编写一个简单的词法分析程序
问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...
- Atiitt 使用java语言编写sql函数或存储过程
Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...
- Fastjson是一个Java语言编写的高性能功能完善的JSON库。
简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...
- 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)
使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...
- 用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
随机推荐
- Mac安装wget的两种方法
第一种.传统的安装包 A - 从ftp://ftp.gnu.org/gnu/wget/下载到最新的wget安装包到本地 B - 然后通过终端tar -zxvf命令解压到我们某个目录 C - 然后依 ...
- HW7.7
public class Solution { public static void main(String[] args) { double[][] points = { {-1, 0, 3}, { ...
- leetcode@ [34] Search for a Range (STL Binary Search)
https://leetcode.com/problems/search-for-a-range/ Given a sorted array of integers, find the startin ...
- Hadoop MapReduce概念学习系列之mr的Shuffle(二十二)
Shuffle是非常非常非常重要.搞mr,必须熟烂于心. 因为,分区,分组,排序,,,都是在Shuffle里完成.
- 异步网页采集利器CasperJs
在采集网页中,我们会经常遇到采集一些异步加载页面的网页,我们通常用的httpwebrequest类就采集不到了,这个时候我们通常会采用webbrowser来辅助采集,但是.net下自带的webbrow ...
- hdoj 1257 最少拦截系统
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- JavaScript要点 (五) 函数定义
JavaScript 使用关键字 function 定义函数. 函数可以通过声明定义,也可以是一个表达式. 函数声明分号是用来分隔可执行JavaScript语句. 由于函数声明不是一个可执行语句,所以 ...
- Java数据类型(一)
1 public class VarDemo 2 { 3 public static void main(String []args){ 4 //先声明后赋值 5 int number; 6 numb ...
- 《JavaScript高级程序设计》 读书笔记(一)
标签的位置 按照传统的做法,所有<script>元素都应该放在页面的<head>元素中,例如: <!DOCTYPE html> <html> <h ...
- 【48】认识template元编程
1.TMP(template metaprogramming),模版元编程有两个效力:第一,它让某些事情更容易:第二,可将工作从运行期转移到编译期.