本人的java小小作品--计算器

2023-11-18

初学者+菜鸟,小小作品,只实现了最简单的加减乘除功能。。。望请各位牛人指导!代码如下:

试问:下面红色字体代码部分,能不能精简,或是其他改进一下啊?太繁琐了那样写

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class frame extends JFrame
implements ActionListener{
 double first = 0,second=0,result=0;
 int computer;
 JTextField text,t;
    JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;
 JButton add,sub,cheng,chu;
 JButton point,equal;
 JButton clean;
 frame(String stri)
 {
  super(stri);
  text=new JTextField("",15);
  b1=new JButton("1");b2=new JButton("2");b3=new JButton("3");
  b4=new JButton("4");b5=new JButton("5");b6=new JButton("6");
  b7=new JButton("7");b8=new JButton("8");b9=new JButton("9");
  b0=new JButton("0");
  add=new JButton("+");sub=new JButton("-");
  cheng=new JButton("*");chu=new JButton("/");
  point=new JButton(".");equal=new JButton("=");
  clean=new JButton("C");
  
  setLayout(new FlowLayout());
  setBounds(200,200,200,220);
  add(text);
  add(b1);add(b2);add(b3);add(b4);add(b5);add(b6);add(b7);add(b8);
  add(b9);add(b0);
  add(point);add(equal);
  add(add);add(sub);add(cheng);add(chu);
  add(clean);
  
  b1.addActionListener(this);b2.addActionListener(this);
  b3.addActionListener(this);b4.addActionListener(this);
  b5.addActionListener(this);b6.addActionListener(this);
  b7.addActionListener(this);b8.addActionListener(this);
  b9.addActionListener(this);b0.addActionListener(this);
  add.addActionListener(this);sub.addActionListener(this);
  cheng.addActionListener(this);chu.addActionListener(this);
  point.addActionListener(this);equal.addActionListener(this);
  clean.addActionListener(this);
 
  setVisible(true);
  setResizable(false);
  validate();
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  
  String s;
  if(e.getSource()==b0)text.setText(text.getText()+b0.getLabel().toString());
  if(e.getSource()==b1)text.setText(text.getText()+b1.getLabel().toString());
  if(e.getSource()==b2)text.setText(text.getText()+b2.getLabel().toString());
  if(e.getSource()==b3)text.setText(text.getText()+b3.getLabel().toString());
  if(e.getSource()==b4)text.setText(text.getText()+b4.getLabel().toString());
  if(e.getSource()==b5)text.setText(text.getText()+b5.getLabel().toString());
  if(e.getSource()==b6)text.setText(text.getText()+b6.getLabel().toString());
  if(e.getSource()==b7)text.setText(text.getText()+b7.getLabel().toString());
  if(e.getSource()==b8)text.setText(text.getText()+b8.getLabel().toString());
  if(e.getSource()==b9)text.setText(text.getText()+b9.getLabel().toString());
  if(e.getSource()==point)text.setText(text.getText()+point.getLabel().toString());
  
  if(e.getSource()==add||e.getSource()==sub||e.getSource()==cheng||e.getSource()==chu){
   //first=Integer.parseInt(text.getText());
   first=Double.parseDouble(text.getText());
   text.setText("");
   if(e.getSource()==add)computer=1;
   if(e.getSource()==sub)computer=2;
   if(e.getSource()==cheng)computer=3;
   if(e.getSource()==chu)computer=4;
  }
  
  if(e.getSource()==equal){
   second=Double.parseDouble(text.getText());
   text.setText("");
   switch(computer){
   case 1:result=first+second;break;
   case 2:result=first-second;break;
   case 3:result=first*second;break;
   case 4:result=first/second;break;
   default:text.setText("Please input the right number");
   }
      s=String.valueOf(result);
   text.setText(s);
  }
        if(e.getSource()==clean){
         text.setText("");
         first = 0;second=0;result=0;
        }
 }

}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

本人的java小小作品--计算器 的相关文章

随机推荐

  • SQL中GROUP BY用法示例

    概述 GROUP BY我们可以先从字面上来理解 GROUP表示分组 BY后面写字段名 就表示根据哪个字段进行分组 如果有用Excel比较多的话 GROUP BY比较类似Excel里面的透视表 GROUP BY必须得配合聚合函数来用 分组之后
  • react项目按需加载报错 .libraryName is not a valid Plugin property

    babel presets react app plugins import libraryName antd style true 原配置如上会报错 libraryName is not a valid Plugin property g
  • Linux-MySQL 5.7.30安装与配置及开机自启

    Linux MySQL5 7 30安装配置 1 准备 1 1 检测系统是否自带MySQL 1 2 如果有 则使用下面命令进行删除 1 3 删除成功后 查询所有Mysql对应的文件夹 1 4 删除上面查找的所有文件夹 2 安装 2 1 使用X
  • java 调用C#的webservice

    import java rmi RemoteException import java util regex Matcher import java util regex Pattern import javax xml rpc Servi
  • TPS-1教学:TPS-1主控MCU程序软件移植指南

    TPS 1教学 TPS 1主控MCU程序软件移植指南视频 TPS 1教学 TPS 1主控MCU程序软件移植指南 电子发烧友网
  • vue项目部署到服务器

    启动和打包 进入项目目录 cd 进入到你项目的根目录 安装依赖 npm install 强烈建议不要用直接使用 cnpm 安装 会有各种诡异的 bug 可以通过重新指定 registry 来解决 npm 安装速度慢的问题 npm insta
  • Codeup(云效)手把手教部署SpringCloud项目到私有主机

    博主介绍 小黄鸭技术 擅长领域 Java 实用工具 运维 系列专栏 开发工具 Java之路 八股文之路 如果文章写作时有错误的地方 请各位大佬指正 一起进步 欢迎大家点赞 收藏 评论 支持博主 开通云效 上传代码仓库 配置SSH公钥或者是H
  • 在 openEuler 20.03 LTS SP1 中安装 JupyterLab

    目录 一 安装 openEuler 20 03 LTS SP1 1 1 Hyper V 虚拟化环境设置 1 2 安装配置 二 升级 Python 到 3 9 1 2 1 安装开发包 2 2 安装 LibreSSL 替代 OpenSSL 非必
  • Error in v-on handler (Promise/async): “Error: Request failed with status code 500“

    Error in v on handler Promise async Error Request failed with status code 500 点击确定按钮 添加数据 POST请求 报了错 发现是这个POST请求需要传参 传对象
  • 远程命令执行/命令注入 之 命令连接符

    目录 一 理论 二 实践 windows 10 a b a b a b a b kali linux a b a b a b a b 一 理论 远程命令执行可以用到的命令连接符 windows系统和linux系统各有4个 其中3个是共有的
  • [ 网络 ] 应用层协议 —— HTTP协议

    目录 1 HTTP协议 1 1URL urlencode和urldecode 2 HTTP协议格式 HTTP请求 HTTP响应 3 告知服务器意图的HTTP方法 GET 获取资源 POST 传输实体主体 GET和POST的区别 使用Cook
  • idea 最干净的的主题 Obsidian!

    idea 最干净的的主题 Obsidian
  • NETGEAR拒绝连接请求_习惯了独来独往,该怎么与别人建立连接?

    亲爱的咨询师 您好 受我这种别扭的性格困扰好久了 不知道为什么 我不知道怎么跟别人建立亲密关系 在与别人相处的过程中 我总是把自己放在很低的位置 过分在意别人的想法 不敢表达自己的真实想法 说话总是顺着别人 点菜也会犹豫很久 不敢点自己喜欢
  • from pathlib import path_华丽的蜕变-使用Pathlib模块,文件操作So Easy!

    更多精彩内容 请关注微信公众号 python学习开发 前言 大多人处理文件用的最多的还是os模快吧 比如下面这样的操作 gt gt gt path rsplit maxsplit 1 0 或者写出下面这样长长的代码 gt gt gt os
  • VS2005下MFC开发的ActiveX控件的部分总结 inf 篇

    本博客转载CSDN网友http blog csdn net immc1979 archive 2007 04 20 1572222 aspx 本人觉得写得非常的实在 一看就是从实际经验中总结出来的 借鉴了 感谢immc1979 虽然微软对A
  • 1-OpenWrt编译过程-2

    前言 接触 op 已达四年 今年开始梳理整体所学 具体还参考了佐大的视频 对 op 缺乏系统知识的可以尝试 总体而言官方文档和源码是最好的教程 文章目录 编译OpenWrt 概述 1 更新安装所有可选的软件包 2 编译设置 make men
  • 用C语言解“两个数的简单计算器”题

    7 12 两个数的简单计算器 本题要求编写一个简单计算器程序 可根据输入的运算符 对2个整数进行加 减 乘 除或求余运算 题目保证输入和输出均不超过整型范围 输入格式 输入在一行中依次输入操作数1 运算符 操作数2 其间以1个空格分隔 操作
  • Eclipse+webservice简单实例搭建

    文章作为学习笔记和分享用 准备工作 下载安装eclipse和axis2 1 5 4 bin zip 最新版本的搭建有问题就选择了此版本 下载本地找一个目录解压 1 指定axis2路径 Window gt Preferences gt Web
  • blender学习记录1--界面,工具介绍

    1 大纲选项开关 此时camera cube light对应图中的物体 没点一个则会自动选中物体 上图先开始camera cube light后面什么选项都没有 在漏斗一样的按钮选中这4个 第一个小箭头 是物体不能被选中 第二个眼睛 将物体
  • 本人的java小小作品--计算器

    初学者 菜鸟 小小作品 只实现了最简单的加减乘除功能 望请各位牛人指导 代码如下 试问 下面红色字体代码部分 能不能精简 或是其他改进一下啊 太繁琐了那样写 import java awt import java awt event imp