JAVA写的计算器

用java写一个简易的计算器 package main; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; i... 阅读详情

第一次写(JAVA的计算器,新手勿喷)。  哈哈啊哈哈


class Proformed {


public static void main(String[] args) {
// TODO 自动生成的方法存根
NewCal  cal = new  NewCal("Calculator");



}


}
//上边是个主函数哈哈哈哈哈

//下边是正文,我记得以前是上传过文件夹的,可是怎么找不到了。 所以把源码贴出来。
import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.*;
import   javax.swing.text.*;
public class NewCal   implements  ActionListener{


JTextArea  showText  =  new  JTextArea(1 ,30);
JButton   zero = new   JButton("0");
JButton   one  =  new  JButton("1");
JButton   two  =  new  JButton("2");
JButton   three = new  JButton("3");
JButton   four = new  JButton("4");
JButton   five = new  JButton("5");
JButton   six  = new  JButton("6");
JButton   seven = new  JButton("7");
JButton   eight = new  JButton("8");
JButton   nine  = new  JButton("9");
JButton   pluse = new  JButton("+");
JButton   subtract = new  JButton("—");
JButton   multiplication  = new  JButton("×");
JButton  devisionMethod  =  new  JButton("/");
JButton  equal  =  new  JButton("=");
JButton  pointer = new  JButton(".");
JPanel   panel =  new  JPanel();



protected  NewCal(String  str)
{

JFrame   frame = new  JFrame(str);
panel.setLayout(new  GridLayout(4 , 4));
panel.add(one);
panel.add(two);
panel.add(three);
panel.add(pluse);
panel.add(four);
panel.add(five);
panel.add(six);
panel.add(subtract);
panel.add(seven);
panel.add(eight);
panel.add(nine);
panel.add(multiplication);
panel.add(zero);
panel.add(pointer);
panel.add(equal);
panel.add(devisionMethod);
Container  container  =frame.getContentPane();
container.add(showText , BorderLayout.NORTH);
container.add(panel , BorderLayout.CENTER);
frame.setVisible(true);
frame.setSize(300, 300);



zero.addActionListener(this);
one.addActionListener(this);
two.addActionListener(this);
three.addActionListener(this);
four.addActionListener(this);
five.addActionListener(this);
six.addActionListener(this);
seven.addActionListener(this);
eight.addActionListener(this);
nine.addActionListener(this);
pluse.addActionListener(this);
subtract.addActionListener(this);
multiplication.addActionListener(this);
devisionMethod.addActionListener(this);
pointer.addActionListener(this);
equal.addActionListener(this);
}



protected void  windowClosing(WindowEvent  e)
{
System.exit(0);
}

double  count = 0;
boolean  divisor=false;//目的在于检测有没有第一次就按运算符导致错误(这个变量现在看不懂了)
boolean  zeroAfterEqual=false;

public    void  actionPerformed(ActionEvent  e)
{
if(e.getSource()==zero)
zeroMethod();
if(e.getSource()==one)
oneMethod();
if(e.getSource()==two)
twoMethod();
if(e.getSource()==three)
threeMethod();
if(e.getSource()==four)
fourMethod();
if(e.getSource()==five)
fiveMethod();
if(e.getSource()==six)
sixMethod();
if(e.getSource()==seven)
sevenMethod();
if(e.getSource()==eight)
eightMethod();
if(e.getSource()==nine)
nineMethod();
if(e.getSource()==pluse)
try
{
pluseMethod();
}
catch(Exception  m)
{
showText.setText("请先输入数字");
b=1;
}

if(e.getSource()==subtract)
try
{
subtractMethod();
}
catch(Exception  m)
{
showText.setText("请先输入数字");
b=1;
}
if(e.getSource()==multiplication)
try
{
multiplicationMethod();
}
catch(Exception  m)
{
showText.setText("请先输入数字");
b=1;
}
if(e.getSource()==devisionMethod)
try
{
devisionMethods();
}
catch(Exception  m)
{
showText.setText("请先输入数字");
b=1;
}
if(e.getSource()==equal)
equalMethod();
if(e.getSource()==pointer)
pointerMethod();

}

boolean  cm=false;
int b=0;
int  test=0;
boolean  clean= false;
double a=0;
protected  void  zeroMethod()
{
b();
showText.append("0");
cm=true;
}

protected  void   oneMethod()
{
b();
showText.append("1");
}

protected  void   twoMethod()
{
b();
showText.append("2");
}

protected  void  threeMethod()
{
b();
showText.append("3");
}

protected  void  fourMethod()
{
b();
showText.append("4");
}

protected  void  fiveMethod()
{
b();
showText.append("5");
}

protected  void  sixMethod()
{
b();
showText.append("6");
}

protected  void  sevenMethod()
{
b();
showText.append("7");
}

protected  void  eightMethod()
{
b();
showText.append("8");
}

protected  void   nineMethod()
{
b();
showText.append("9");
}


int p=0;
protected  void  pluseMethod()
{
if(p==0)
{
count+=Double.parseDouble(showText.getText());
showText.setText("+");
clean=true;
test=1;
p++;
}
if(p==1)  {p--;}//有错代码
}

protected  void  subtractMethod()
{
count=Double.parseDouble(showText.getText());
showText.setText("—");
clean=true;
test=2;
}




protected  void   multiplicationMethod()
{
if(count==0)
{
count=1.0;
count*=Double.parseDouble(showText.getText());
showText.setText("×");
}
else
{
count*=Double.parseDouble(showText.getText());
showText.setText("×");
}
test=3;
clean=true;
}

protected  void   devisionMethods()
{
count=Double.parseDouble(showText.getText());
showText.setText("/");
test=4;
divisor=true;
clean=true;
}

protected  void   pointerMethod()
{
showText.append(".");
}



protected  void    equalMethod()
{
if(cm==true)
{
showText.setText("1");
cm=false;
}
switch(test)
{
case 1 :   {count+=Double.parseDouble(showText.getText()); a=count;}  break ;
case 2 :   {count-=Double.parseDouble(showText.getText()); a=count; }  break ;
case 3 :   {count*=Double.parseDouble(showText.getText()); a=count; }  break ;
case 4 :   {count/=Double.parseDouble(showText.getText()); a=count; }  break ;
default :  showText.setText("");
}
showText.setText(String.valueOf(a));
count=0;
b++;
}

protected  void  b()
{
if(b==1)
{showText.setText("");   b=0;}
if(clean==true)
showText.setText("");
if(divisor==true)
showText.setText("除数不能为");
divisor=false;
clean=false;
}


}

从ADC校准到精准测量:避开PY32F030小信号采样的那些坑 本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。 阅读详情

相关推荐

超越数据手册:深入Zynq XADC的DRP接口与PL端自定义采样逻辑

本文深入探讨Zynq-7000系列XADC模块的DRP接口机制与PL端自定义采样逻辑实现。通过硬件级多通道轮询、触发采样和实时校准技术,突破传统软件驱动限制,为高精度电压测量和通讯应用提供极致灵活性和响应速度。

xxx12的博客 770

java 简易计算器

java 简易计算器

m0_56078449的博客 2万+

从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’

本文详细介绍了如何使用SEM/EDS技术对BGA焊点进行全面失效分析,从样品制备到SEM观察、EDS分析,再到综合诊断,手把手教你识别焊点的微观特征和成分异常。文章特别强调了IMC层分析在BGA焊接失效诊断中的关键作用,并提供了实用的实验室技巧和常见失效模式对照表,帮助工程师快速定位问题根源。

weixin_42685438的博客 384

Java课程设计——简易计算器

1.系统简介1.1设计背景随着人们物质生活水平的日益提高,人们对高质量的计算提出了更高的要求。当今世界,是云计算的生活和物联网发展和使用阶段,计算性能的高低和计算的效率直接影响到了人们的生活。对此,使用Java语言开发出一个为人们生活带来便利的计算器,主要完成对数据的高效计算。该系统实现了加、减、乘、除的四则运算。1.2开发工具及环境(1)开发工具及介绍Eclipse是Java集成...

陌然的博客 1万+

睿尔曼超轻量仿人机械臂-ROS第一篇 启动机械臂的Moveit

本文主要讲述了睿尔曼六轴机械臂在ROS中的功能包配置,及如何根据文件启动Moveit做仿真。

realman_Rop的博客 7490

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 911

用Java制作简单的计算器

就是往左边判断是(sb.charAt(j)=='*'||sb.charAt(j)=='/'||sb.charAt(j)=='%'||sb.charAt(j)=='B'||sb.charAt(j)=='+'||sb.charAt(j)=='-'),而右边判断是(sb.charAt(j)=='*'||sb.charAt(j)=='/'||sb.charAt(j)=='%'||sb.charAt(j)=='B'||sb.charAt(j)=='+'||sb.charAt(j)=='-'||按钮,和自己本身框架。

充满焦虑的大学生 1万+

完整复盘【避雷jd文职某岗位】潍坊青州hhj(据说未来搬到天津),助理实验师岗位,三人进面,面试全部不及格,空头岗位!像这种情况,该单位很多 | 附个人完整备考背诵题目 | 世间一场梦,不会再考这个了

本文以博主本人报考jun dui文职,从报考、备考、考试、查成绩到资格审查、面试,全程亲身经历,给想要报考该内容的朋友们一些小的参考。祝你顺利上岸!完整复盘【避雷jd文职某岗位】潍坊青州hhj(据说未来搬到天津),助理实验师岗位,三人进面,面试全部不及格,空头岗位!像这种情况,该单位很多 | 附个人完整备考背诵题目 | 世间一场梦,不会再考这个了

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 249

使用Java实现简单的计算器应用程序

通过本文的示例代码,我们学习了如何使用Java编程语言创建一个简单的计算器应用程序。我们使用了Swing库来创建GUI界面,并实现了基本的按钮点击事件处理和计算逻辑。然后,我们可以使用任何集成开发环境(IDE)如Eclipse或IntelliJ IDEA来创建一个新的Java项目。我们将使用面向对象的编程思想和基本的Java语法,以及图形用户界面(GUI)库Swing来创建一个交互式的计算器。在这个例子中,我们将使用Swing库来创建计算器的GUI界面。或者,我们可以使用命令行编译和运行Java代码。

Y18870954401的博客 2381

【Windows Server 2019】存储服务器的配置和管理——iSCSI的安装和配置(下)

博文介绍了如何使用Windows 10 和 ESXi 验证iSCSI服务器部署成功以及如何管理iSCSI服务 。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 8002

51单片机嵌入式开发:14、STC89C52RC 之HX1838红外解码NEC+数码管+串口打印+LED显示

对于C51单片机的设计思路,你可以使用类似的步骤来实现红外解码、数码管显示和LED显示的功能。下面是一个简单的设计思路:(1) 连接HX1838红外解码器、数码管和LED到C51单片机。将HX1838的信号引脚连接到C51单片机的外部中断引脚(例如INT0),数码管的CLK引脚连接到C51单片机的某个IO口引脚,数码管的DIO引脚连接到C51单片机的另一个IO口引脚,LED连接到C51单片机的某个IO口引脚。(2) 在C51的程序中,定义并初始化所需的IO口和外部中断。

sinat_30943509的博客 2977

用java编写一个简单的计算器

用java实现简易计算器(加减乘除),运用switch语句

m0_74052176的博客 3600

华为OD技术面八股_C++_05

汇总华为OD技术面C++方向技术面八股文,提供详细解答。

qq_45776114的博客 413

手把手教你用Java写一个计算器(一行一个注释,保证能教会你)

/记录下按钮的文本//判断按钮类型并调用方法ClearAll();Percent();

ffqws_的博客 1056

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java写计算器_用Java写的计算器

用Java写的计算器 package com.wenbo.myprogrem.day15;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Caculator implements ActionListe...

weixin_42350755的博客 144

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

用Java写一个简单的计算器

笔者今天要对用Java写计算器的过程进行一些总结。笔者认为,计算器的核心部分就是加减乘除运算的代码,这也是笔者这个小白在写代码过程中遇到的困难。笔者通过在博客上的查询和学习,解决了这个问题。 思路:运算时通过递归的思想得出结果。截图和代码如下。 import java.awt.*; import java.awt.event.*; import javax.swing.*; class Cal...

weixin_44849651的博客 3294

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 写一个简单的计算器

请点击好的,看完介绍,咱们就根据这个杭电oj上1237 这道题,改写一个用GUI写出来的 小计算器,类似于这样: 然后 通过输入 显示结果,比如说: 可以看得出来,咱们得到的结果是正确的: 代码: package Computer; import java.awt.BorderLayout; import java.awt.Color; import java.awt.C

hpuzsk的博客 11万+

用java写的计算器

  第一次在csdn上发表博客了,主要是为了总结自己这一周的学习内容,从基础做起……感想: 个人觉得做一个比较好的计算器,如windows系统自带的那种还是蛮复杂的,考虑的事情蛮多的,在下面的这个计算器程序中,运用了比较好的设计模式          ,个人觉得蛮不错的,可以从中学到很多东西!吸取其中的精华吧!总结:1.计算器面板中的可以将每个按钮分成两个类别:number类和commend类,因此自然地想到可以将每组按钮都用一个监听器来进行监听      (InsertActionListener和Com

1048

用java写一个简单的计算器

要用java写一个简单的计算器,作为初学者的我一开始觉得很简单,但是实际操作起来却遇到了很多问题,在这里给大家一一分享。 要完成一个计算器,首先要想好它的功能——能进行四则运算,并且能循环使用即可。所以我们需要1、2、3、4、5、6、7、8、9、0、+、-、*、/、=、AC这16个按钮Button,然后需要一个显示计算过程和计算结果的地方,这里我们采用TextField这一组件来显示。 将这些添加...

qq_38978404的博客 1443

用java写一个简易的计算器界面

如何用java写一个简易的计算器界面 前言(与本节重点无关可以忽视) 最近了解了一些界面窗口知识,在老师一步步的悉心教导下我却又一次地走向了迷茫——陌生,理解不充分,照搬。咳咳,但是经过几天的拆解,琢磨,实践,我也渐渐粗浅地认识到了一些本质问题。当时教写的是登录界面,所以这次我打算写一个计算器界面来检测一下自己是不是依然一头雾水。 基本准备 首先给类取名CaculatorInterface(计算器界面) package kallen1014; public class CalculatorInterf

CatCatchCap的博客 7399

Java写的计算器程序

//导入需要用到的包import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.lang.String.*;//主函数class Example{ public static void main(String args[]) {  MyCalculator mycalculator=new MyCalcu

ljmxwei的专栏 556

如何用java GUI写一个计算器

如何用java GUI写一个计算器 最近在学java GUI ,光看视频不动手是不行的,所以我打算做一个计算器练练手。 这是电脑自带的计算器,我们就以它为模板做一个简易的计算器 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmdrHZLN-1625657169433)(images\1625650397442.png)] 而下面这个就是我们做出来的计算器最终的样子 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-299K48rM-1625657

qq_53537301的博客 3977

java基础语言写简单计算器

在下不才,编写的简简单单的计算器,主要用了Swing和awt,编写时逻辑还有点混乱,所以有什么不妥或者更好改善的地方,还请大家多多指教。E-mail:1272456885@qq.com

koujin1994的博客 1万+

java写一个计算器GUI

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package calcula...

二月鸟 612

用Java写的计算器

用Java写的计算器         package com.wenbo.myprogrem.day15; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Caculator im

文博那些事儿 770
下一篇: mini记事本
libingbojava
博客等级 码龄9年 64粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值