用Java制作计算器的两种方式

20 篇文章 0 订阅
订阅专栏

用Java制作计算器的两种方法

1.通过switch和用户交互(scanner)来实现,计算器的加减乘除的简单运算

//制作一个简易计算器,基于switch和用户交互实现;升级版是通过写出四个方法函数实现加减乘除,同时用循环和switch进行用户交互
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//构造Scanner类的对象scanner,接收从控制台输入的信息
        System.out.println("输入第一个数字: ");
        double a = scanner.nextInt();//接收第一个数字
        System.out.println("输入第二个数字: ");
        double b = scanner.nextInt();//接收第二个数字
        System.out.println("选择+ - * /中的一种计算方式: ");
        String str = scanner.next();//接收选择的计算方式
        switch (str) {
            case "+":
                System.out.println(a + b);//输出加法结果
                break;
            case "-":
                System.out.println(a - b);//输出减法结果
                break;
            case "*":
                System.out.println(a * b);//输出乘法结果
                break;
            case "/":
                System.out.println(a / b);//输出除法结果
                break;
        }
        scanner.close();//属于IO流的类如果不关闭会一直占用资源,养成习惯关闭
    }
}

在这里插入图片描述

2.通过switch和用户交互(scanner)来实现,计算器的加减乘除的简单运算,同时还能循环接收数据

  • 写四个方法:add(加) minus(减) multiply(乘) divide(除)
  • 使用while循环和switch进行(scanner)交互实现
  • 输出结果
public class Test1 {
    public static void main(String[] args) {
        while (true) {
            System.out.println("输入计算类型(+,-,*,/),输入quit退出");
            Scanner calculate = new Scanner(System.in);//构造Scanner类的对象calculate,接收从控制台输入的信息
            String cal = calculate.nextLine();//接收该对象的内容,赋值给cal,可以加除Enter以为的所有符号,包括空格和Tab
            if(cal.equals("quit")){
                System.out.println("已退出计算器");
                break;
            }else {
                switch (cal) {
                    case "+":
                        System.out.println("输入要进行计算的两个数:");//println相当于print("\n"),即println每输出一行即换行
                        Scanner add1 = new Scanner(System.in);//构造Scanner类的对象addScanner1,接收从控制台输入的信息
                        double addNum1 = add1.nextInt();//接收该对象的内容,赋值给addNum1,可以加除Enter以为的所有符号,包括空格和Tab
                        Scanner add2 = new Scanner(System.in);
                        double addNum2 = add2.nextInt();
                        double addResult = add(addNum1, addNum2);//得出两数之和
                        System.out.println(addNum1 + "+" + addNum2 + "=" + addResult);
                        break;
                    case "-":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner minusScanner1 = new Scanner(System.in);
                        double minusNum1 = minusScanner1.nextInt();
                        Scanner minusScanner2 = new Scanner(System.in);
                        double minusNum2 = minusScanner2.nextInt();
                        double minusResult = minus(minusNum1, minusNum2);
                        System.out.println(minusNum1 + "-" + minusNum2 + "=" + minusResult);
                        break;
                    case "*":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner mutiplyScanner1 = new Scanner(System.in);
                        double mutiplyNum1 = mutiplyScanner1.nextInt();
                        Scanner mutiplyScanner2 = new Scanner(System.in);
                        double mutiplyNum2 = mutiplyScanner2.nextInt();
                        double mutiplyResult = multiply(mutiplyNum1, mutiplyNum2);
                        System.out.println(mutiplyNum1 + "*" + mutiplyNum2 + "=" + mutiplyResult);
                        break;
                    case "/":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner divideScanner1 = new Scanner(System.in);
                        double divideNum1 = divideScanner1.nextInt();
                        Scanner divideScanner2 = new Scanner(System.in);
                        double divideNum2 = divideScanner2.nextInt();
                        double divideResult = divide(divideNum1, divideNum2);
                        System.out.println(divideNum1 + "/" + divideNum2 + "=" + divideResult);
                        break;
                }
            }
        }
    }
    public static double add(double a,double b ){//构造一个double的 add方法,

        return a+b;
    }
    public static double minus(double a,double b ){
        return a-b;
    }
    public static double multiply(double a,double b ){

        return a*b;
    }
    public static double divide(double a,double b ){

        return a/b;
    }
}

运行成功后,只要不输入quit,便会一直循环下去

用JSP制作计算器
06-23
用JSP实现的计算器(包含数据库,用户注册登录和两种计算器显示方式)管理员和用户两种操作
JAVA上百实例源码以及开源项目
01-03
Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...
Java】 GUI实战案例——使用swing编写计算器
曒晈独白的博客
04-24 2107
要求 模仿windows自带的计算器功能,设计一个简单计算器 至少要求实现整数和小数的加、减、乘、除、清零功能。 其他计算功能,请参考windows自带的计算器,尽可能多的实现。 代码实现 package sy3; import javax.swing.*; import java.awt.*; import java.awt.event.*; /**自定义一种继承自异常类Exception的异常MyException */ class MyException extends Exceptio
java语言实现简单计算器(超详细步骤+解题思路),2024年最新美团买菜面经
最新发布
2401_84433974的博客
04-21 849
Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!Java面试核心知识点网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)一个人可以走的很快,但一群人才能走的更远!
Java编写简单计算器--实现篇
热门推荐
weixin_50301255的博客
12-06 7万+
本文用Java的swing来实现一个简单计算器,主要内容为图形用户界面GUI的实现以及运算表达式核心算法的设计编写。 程序运行环境为Windows10 ,编译环境为MyEclipse 。 一、具体功能: 1、:输入,输出 1)、输入:允许输入带有括号的完整计算式(例 8*(4-95)+5÷2*e-pi) 2)、输出:输出Double类型的结果 3)、输出:整个运算表达式并保存于历史记录中
Java 实现一个简单的计算器
大大怪的博客
08-27 3334
大家好!在本篇博客中,我们将一起探索如何使用 Java 实现一个简单的计算器计算器是编程中常见的应用,通过这个实例,我们可以学习如何结合基本的控制流和用户交互来构建一个有趣且实用的程序。让我们一起开始这个令人兴奋的编程之旅吧!
Java设计|一个简单的计算器
weixin_62496194的博客
11-29 1946
Java设计一个简单的计算器,包含基本的加减乘除运算。
Java制作简单的计算器
充满焦虑的大学生
04-26 1万+
就是往左边判断是(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)=='-'||按钮,和自己本身框架。
使用Java实现简单的计算器应用程序
Y18870954401的博客
07-18 1968
通过本文的示例代码,我们学习了如何使用Java编程语言创建一个简单的计算器应用程序。我们使用了Swing库来创建GUI界面,并实现了基本的按钮点击事件处理和计算逻辑。然后,我们可以使用任何集成开发环境(IDE)如Eclipse或IntelliJ IDEA来创建一个新的Java项目。我们将使用面向对象的编程思想和基本的Java语法,以及图形用户界面(GUI)库Swing来创建一个交互式的计算器。在这个例子中,我们将使用Swing库来创建计算器的GUI界面。或者,我们可以使用命令行编译和运行Java代码。
Java简易计算器
秋刀鱼的博客
06-05 7543
一个简单的Java计算器
使用Java编写一个简单计算器
LMY的博客
03-17 3万+
使用Java编写一个简单计算器 程序编写思路: 在编写这个计算器小程序时,首先需要对窗体和窗体中的组件有一个合理的布局,使编写出来的窗体看着美观简洁又实用.其次就是要注意对运算符和数字键的处理,为这些数字键和运算符键添加动作监听,使其在点击时,能够在文本框中输入相应的值.然后通过对文本框添加监听,获取文本框中的值,再进行相应的运算,并将结果输出的结果显示文本框中. 此程序的难点在于对于动作监听的...
java实现科学计算器
lmdxyZYR的博客
10-19 1万+
目录介绍实现思路实现过程和代码1.界面设计2.栈,中缀转后缀3.判断错误4.计算后缀表达式完整代码 介绍 本次设计的是一个有33个按钮的科学计算器。可以进行加,减,乘,除,开根号,阶乘,次方,百分号,对数,三角函数的计算。 实现思路 通过点击按钮可以得到一个算术表达式,并且它是一个字符串类型,然后需要的就是把这个字符串转化为计算机可计算的形式。这里就需要用到中缀表达式转化为后缀表达式。转化完之后通过栈来一步步的进行输出和计算,最后输出结果。 实现过程和代码 1.界面设计 设计效果如图所示: 由图片可知,
MegaCalc:几乎无限的整数计算器
04-04
当时在Windows上使用C ++进行实验,我已经为大型数字制作了一个基于String的计算器。 因此,我决定看看是否可以使用一种快速算法来击败22,000位乘法记录。 2周后,我在哪里: 从里到外翻转我的算法 达到MS-DOS的...
java开源包1
06-28
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
JAVA上百实例源码以及开源项目源代码
09-17
Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...
java实现一个计算器:输入计算公式即可输出结果
qq_1149513559的博客
06-19 888
以上使用双栈实现的计算器,测试代码运行结果如下。
JAVA—GUI编程设计实现“简单的计算器
qq_40615021的博客
12-11 1万+
设计内容:设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、 设计要求:设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 设计效果: 键钮含义: C 清零, D 求导数, √ 求平方根, % 求余, <<< 退格, (+/-) 正负号 +-*...
Java——一个简单的计算器程序
weixin_66547608的博客
08-24 5465
它实现了一个简单的图形化计算器界面,并提供了一些基本的计算功能和历史记录功能。用户可以通过界面上的按钮进行输入和操作,并在文本域中显示结果和历史记录。
java 简易计算器
m0_56078449的博客
07-15 2万+
java 简易计算器
java制作计算器的实施步骤与技术要点
07-13
### 回答1: Java制作计算器的实施步骤与技术要点如下: 1. 定义计算器的用户界面:可以使用Java图形用户界面(GUI)库来创建计算器窗口,并添加按钮、文本框和其他必要的组件。 2. 实现计算器的基本功能: - 定义数值按钮和操作符按钮的事件处理程序,以便当用户点击按钮时执行相应的操作。 - 在计算器窗口的文本框中显示用户的输入和计算结果。 - 实现基本的算术运算,例如加法、减法、乘法和除法,以及其他可能的功能,例如求平方根和百分比计算。 3. 处理用户输入: - 使用事件监听器来监听按钮的点击事件和文本框的输入事件。 - 对于数值按钮,将用户的输入追加到文本框中的数值。 - 对于操作符按钮,将用户的输入传递给计算函数,执行相应的操作,并将结果显示在文本框中。 4. 异常处理: - 在进行计算时,要注意处理可能出现的异常情况,例如除数为零或非法的输入。 - 可以使用try-catch语句块来捕获并处理异常,并向用户显示错误消息。 5. 测试和调试: - 在实现过程中,测试每个功能的正确性和稳定性。 - 通过输入不同的数值和操作符进行测试,验证计算器是否产生正确的结果。 - 在调试过程中,可以使用调试工具来跟踪程序的执行流程,并查找和修复代码中的错误。 技术要点: - Java编程语言:使用Java编写计算器程序,并利用Java的面向对象特性进行设计和实现。 - Java GUI库:使用Java Swing或JavaFX等GUI库创建用户界面,定义窗口、按钮和文本框等UI组件。 - 事件处理:使用事件监听器来处理按钮的点击事件和文本框的输入事件,实现按钮和文本框的交互功能。 - 算术运算:使用Java提供的算术运算符和函数来实现基本的算术运算,例如加法、减法、乘法和除法等。 - 异常处理:使用try-catch语句块来捕获和处理可能出现的异常情况,例如除数为零或非法的输入。 - 测试和调试工具:使用测试用例和调试工具来验证程序的正确性和完整性,修复代码中的错误。 ### 回答2: Java制作计算器的实施步骤与技术要点如下: 步骤1:设计计算器界面 首先,需要设计计算器的界面,包括数字键、运算符键、等号键和显示屏等。可以使用Java Swing或JavaFX进行界面设计,选择合适的布局管理器来布置界面元素。 步骤2:实现界面与逻辑的交互 通过添加事件监听器,实现用户点击数字键和运算符键时的交互效果。例如,点击数字键时将数字显示在屏幕上,点击运算符键时将运算符保存起来。 步骤3:实现基本的计算逻辑 根据用户输入的数字和运算符,实现基本的计算逻辑。可以使用Java的数学库提供的函数来进行加减乘除等运算,同时要考虑除以零的异常处理。 步骤4:处理连续运算 允许用户进行连续的运算,例如输入"1+2+3="后显示结果6,并将结果保存下来作为下一次计算的初始值。要注意清空运算符和数字的状态。 步骤5:处理小数点和负数 支持输入小数点和负数,参考相应的输入规则进行处理。可以使用正则表达式来验证用户输入的合法性。 步骤6:处理其他功能 根据需求,可以添加其他功能,如百分号、开方、取反等。根据具体需求选择合适的算法实现。 步骤7:进行测试 编写测试用例对计算器进行全面的测试,包括正常输入、边界输入和异常输入,确保计算器的功能正确和稳定。 技术要点: 1. 熟悉Java Swing或JavaFX的界面设计和事件处理。 2. 熟悉Java数学库提供的数学函数和异常处理。 3. 熟悉正则表达式的使用,来验证用户输入的合法性。 4. 熟悉软件测试的方法和技巧,编写全面的测试用例。 5. 注意界面的用户友好性,例如合理的布局、按钮样式和交互效果。 6. 编写清晰的代码,注重可读性和可维护性,采用合适的设计模式和代码结构。 ### 回答3: 制作一个计算器的实施步骤与技术要点如下: 1. 界面设计:首先,你需要设计一个用户界面,包括数字按钮、运算符按钮和显示屏。你可以使用Swing、JavaFX或者Android等技术来创建用户界面。 2. 事件处理:为每个按钮设置事件监听器,以便在用户点击按钮时执行相应的操作。 3. 数字输入:当用户点击数字按钮时,将数字添加到显示屏上的运算表达式中。 4. 运算符输入:当用户点击运算符按钮时,将该运算符添加到显示屏上的运算表达式中。 5. 运算逻辑:当用户点击等号按钮时,解析显示屏上的运算表达式,并计算结果。可以使用字符串分割和堆栈数据结构来实现运算逻辑。 6. 错误处理:对于无效的运算表达式(例如除以零或缺少操作数),应该给予用户相应的错误提示。 7. 优化与拓展:可以考虑添加括号支持、计算历史记录等功能,以增强计算器的实用性。 技术要点: 1. Java编程语言:计算器可以使用Java来开发,Java提供了丰富的类库和API,用于实现图形用户界面、事件处理、字符串处理等功能。 2. 用户界面库:你可以选择Swing、JavaFX等库来创建计算器的用户界面。这些库提供了各种组件,例如按钮、文本框等,以便你能够创建与用户交互的界面。 3. 事件处理:通过使用监听器接口,你可以捕获按钮的点击事件,并在事件发生时执行相应的操作。 4. 字符串处理:使用字符串处理功能,你可以解析用户在显示屏上输入的运算表达式,并进行相应的计算。 5. 错误处理:使用异常处理机制,你可以捕获和处理运算过程中可能出现的错误,以便给予用户正确的提示或者执行相应的恢复措施。 总之,制作一个计算器需要首先设计用户界面,然后实现事件处理和运算逻辑,同时需要进行错误处理和逻辑优化,以提供稳定和方便的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • xftp连接linux虚拟机时无法与IP连接 11244
  • 使用docker部署项目程序 7399
  • 用Java制作计算器的两种方式 6605
  • ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 4939
  • Centos7进行ping通百度的配置条件(桥接网卡模式) 3410

分类专栏

  • Linux 7篇
  • docker 3篇
  • Java笔记 20篇
  • java 2篇
  • mysql
  • idea 1篇
  • spring 4篇
  • vue 2篇
  • jmeter 1篇

最新评论

  • 用Java制作计算器的两种方式

    m0_75064231: 怎么答辩?

  • Centos7进行ping通百度的配置条件(桥接网卡模式)

    m0_72596672: ctrl+c可以停止

  • 使用docker部署项目程序

    no_houttuynia: 大佬 能再分享一下所有的tar包吗 谢谢谢谢表情包

  • 使用docker部署项目程序

    小白努力学数据库: 大佬 nohup python3 -c "from app import app;"> log.out 2>&1 & 报错这个是怎么回事 [1]+ Illegal instruction (core dumped) nohup python3 -c "from app import app;" > log.out 2>&1

  • Centos7进行ping通百度的配置条件(桥接网卡模式)

    Sternstunde10: 我都停不下来了

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Centos在NAT模式下的设置
  • 使用docker部署项目程序
  • 部署工作流项目
2022年4篇
2021年12篇
2020年17篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

哆哆女性网口哨怎么吹梦见照相周公解梦2021年霸气又带财运的网名seo优化顾问梦见掉牙三个破解方法大西南剿匪记演员表宝奢汇珠宝周公解梦秋占生男huangseav起名苏氏周公解梦梦见自己喜欢的人如何制作自己的网站简历在哪公司建设网站PPLV深圳网站建设首选运输公司起名大全网站优化哪些内容中山网站建设设计无锡个人网站制作明月听风葡萄牙vs摩洛哥连云港网站seo优化起名女孩论语seo面包屑导航微信公众号起名正宗周易古法取名薛姓好听的男孩起名外贸 网站制作的公司梅起名佟佳氏淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化