java做计算器_java实现简单计算器
本文实例为大家分享了java实现简单计算器的具体代码,供大家参考,具体内容如下
思路:定义一个主框架Frame,我们对原设计的草图进行划分,以方便后面的布局
下面我们来对主框架进行划分
如图,我们将主框架划分为四个JPanel,其中panel1,2,3使用GridLayout布局,GridLayout(1,2),
对于panel4我们使用流式布局,主框架设置为FlowLayout,
由此我们把主要的布局设计好了,接下来我们将个标签,文本框,按钮对应按钮按如上设计图依次放入各个panel中,忘了说了,我们还有对各个按钮注册事件监听器
接着我们就要在actionPerformed()函数中对事件源(e.getSource())方法中对相应的事件进行处理,我们以加法为列,我们的设计思路是:从数字一,数字二对应的文本框接收数据,由于使用JTextField的方法getText()返回的是一个String,所以我们要将其转化为十进制实数,所以我们使用了Double.parseDouble()函数将从文本框接收到的String转化为一个实数,数字一和数字二现在变成了实数,接着根据事件源不同就行对应不同的运算,接着结果继续转化为字符串(String.valueOf()函数),并且设置数字三对应的文本框的内容为相应的结果即:jt3.setText();结束。
图例 :乘法运算处理
特别的,在做除法运算时我们要对第二个操作数进行零操作检查,如果除数为零,我们将数字三对应的文本区设置为”除数不能为零”提示用户,除数不能为0
图例:除数不能为零
程序运行结果:输出1,2
加法
减法
乘法
除法
除数不能为0:
实现源码
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyCalc extends JFrame implements ActionListener {
JFrame jf;
JLabel jl1;
JLabel jl2;
JLabel jl3;
JButton jb1;
JButton jb2;
JButton jb3;
JButton jb4;
JTextField jt1;
JTextField jt2;
JTextField jt3;
JPanel jp1;
JPanel jp2;
JPanel jp3;
JPanel jp4;
Container con;
public void go() {
//窗口设置
this.setLayout(new FlowLayout());
this.setTitle("计算");
this.setSize(150,200);
con=this.getContentPane();
//标签设置
jl1=new JLabel("数字一");
jl2=new JLabel("数字二");
jl3=new JLabel("数字三");
//按钮设置,及其注册事件监听
jb1=new JButton("+");
jb1.addActionListener(this);
jb2=new JButton("-");
jb2.addActionListener(this);
jb3=new JButton("*");
jb3.addActionListener(this);
jb4=new JButton("/");
jb4.addActionListener(this);
//添加到面板
jp1=new JPanel(new GridLayout(1,2));
jp2=new JPanel(new GridLayout(1,2));
jp3=new JPanel(new GridLayout(1,2));
jp4=new JPanel(new GridLayout(1,2));
//穿件文本框
jt1=new JTextField();
jt2=new JTextField();
jt3=new JTextField();
jp1.setVisible(true);
jp1.add(jl1);
jp1.add(jt1);
con.add(jp1);
jp2.add(jl2);
jp2.add(jt2);
con.add(jp2);
jp3.add(jl3);
jp3.add(jt3);
con.add(jp3);
jp4.add(jb1);
jp4.add(jb2);
jp4.add(jb3);
jp4.add(jb4);
con.add(jp4);
this.setVisible(true);
}
public static void main(String [] args) {
MyCalc a= new MyCalc();
a.go();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb1) {
jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText())));
}else if(e.getSource()==jb2) {
jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText())));
}else if(e.getSource()==jb3) {
jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText())));
}else {
if(Double.parseDouble(jt2.getText())==0.0) {
jt3.setText("除数不能为零");
}else
jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText())));
}
}
}
关于计算器的精彩文章请查看《计算器专题》 ,更多精彩等你来发现!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java做计算器_java实现简单计算器相关推荐
- java实现计算器_Java 实现简单计算器
最后一次更新于2019/07/08 效果演示图 功能与流程 要制作一个简易计算器,首先你要清楚GUI里要显示什么: 结果显示框 0-9的数字 删除功能 清楚功能 搜寻历史记录功能 计算结果的功能 括号 ...
- java图形界面计算器_java图形界面 计算器实现
编写程序实现一个简单计算器的基本功能,具体可以模仿Windows附件中的计算器或模拟常见的实物计算器. package beizi; import java.awt.EventQueue; impor ...
- java 线性计算器_java版科学计算器,支持表达式计算
<java版科学计算器,支持表达式计算>由会员分享,可在线阅读,更多相关<java版科学计算器,支持表达式计算(12页珍藏版)>请在人人文库网上搜索. 1.程序设计综合设计题目 ...
- js装修计算器java代码_JavaScript代码实现简单计算器
本文实例为大家分享了JavaScript代码实现简单计算器的具体代码,供大家参考,具体内容如下 一.实现功能 (1)利用css样式.javascript语言和html语言实现计算器的算法 (2)对计算 ...
- php编写一个简单计算器程序,PHP 简单计算器代码实现
/* * 简单计算器 */ error_reporting(E_ALL & ~E_NOTICE); if(isset($_POST['sub'])){ $a = $_POST['num1']; ...
- android复杂计算器代码,android简单计算器代码
<android简单计算器代码>由会员分享,可在线阅读,更多相关<android简单计算器代码(9页珍藏版)>请在人人文库网上搜索. 1.package class Calcu ...
- php自定义函数计算器,PHP实现简单计算器
PHP简单计算器 table{ border:1px solid #CC9999; width:600px; } th{ background:#CCCCCC; } td{ background:#C ...
- java gui 日历_Java实现简单日历小程序 Java图形界面小日历开发
今天给大家介绍一下如何用Java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个CalendarBean类,用于基本的日期计算: package other1; import jav ...
- java 日历界面_Java实现简单日历小程序 Java图形界面小日历开发
今天给大家介绍一下如何用java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个calendarbean类,用于基本的日期计算: package other1; import jav ...
最新文章
- Codeforces Round #649 (Div.2)题解
- 数据库事务的四个隔离级别浅析
- activiti自己定义流程之整合(五):启动流程时获取自己定义表单
- 医疗人工智能会替代医生吗
- Spark-core(核心)的基本介绍
- 前端学习(3104):react-hello-虚拟dom和真实dom
- 从Kaggle HuBMAP 比赛中学习语义分割
- read .off file in matlab
- 打开文件、网页、文件夹等
- nginx虚拟机无法访问解决
- 使用pkg编译打包nodejs程序成执行文件
- windows 7计算机用户名和密码忘了,w7笔记本忘记开机密码怎么办_win7笔记本电脑忘记登录密码解决方法-系统城...
- 2、孟子·公孙丑上 孟子·公孙丑下
- 说说JDBC 操作数据库的步骤?
- Excel-RANK函数排名与拓展
- 用c语言实现字符大小写转化
- 使用malloc函数分配空间
- ubuntu20.04如何录制屏幕
- accept()函数说明
- Mac OS下搭建Hadoop3.2.1
热门文章
- Android高德地图线优化,Android 接入高德地图SDK模块的优化点点滴滴
- Python检测数据不完整的JPG图片
- mysql别名引号与引用问题
- linux网络协议栈(四)链路层 (5)vlan处理
- 免费U盘文件恢复,你不知道的10款u盘恢复软件
- MySql存储过程与函数
- 如何将图片文字转换成文本?
- 工程技术专业技术职务共分为13个等级
- Android Studio 卡在Download fastutil-8.4.0-sources jar以及New Module为灰色的问题及解决方法
- 不定积分 定积分 计算方法