[ Java ] 实现两个数加减乘除的简易计算器
[ Java ] 实现两个数加减乘除的简易计算器
新手,不足之处望大佬们海涵
感谢( *ˊᵕˋ)✩︎‧₊
以下为代码:
package com.zhong.homework;import java.util.Scanner;public class Demo03 {public static void main(String[] args) {/*能对两个数字进行“加减乘除”运算的计算器:四个方法,加减乘除利用循环+Switch进行交互传递需要操作的两个数输出结果*/boolean flag = true;//循环,实现在键盘输入'#'前可以一直计算算式while(flag) {System.out.println("请输入需要进行计算的数学式子:");Scanner scanner = new Scanner(System.in);String str = scanner.next();//接收数学算式的字符串strDemo03 demo03 = new Demo03();//用来接收算式结果的变量double result1 = 0;double result2 = 0;double result3 = 0;double result4 = 0;//用switch选择需要调用的方法,并用变量接收再输出for (int i = 0; i < str.length(); i++) {if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {} else {switch (str.charAt(i)) {case '+':result1 = demo03.add(str);//接收add()返回值,即算式结果System.out.printf("%s=%.3f\n", str, result1);//输出加法算式结果break;case '-':result2 = demo03.subtraction(str);//接收subtraction()返回值,即算式结果System.out.printf("%s=%.3f\n", str, result2);//输出减法算式结果break;case '*':result3 = demo03.multiplication(str);//接收multiplication()返回值,即算式结果System.out.printf("%s=%.3f\n", str, result3);//输出乘法算式结果break;case '/':result4 = demo03.division(str);//接收division()返回值,即算式结果System.out.printf("%s=%.3f\n", str, result4);//输出除法算式结果break;case '.':continue;default:System.out.println("Error!");}}}System.out.println("退出程序输入#, 继续请随便输入一个字符");String tempStr = scanner.next();if (tempStr.equals("#")) {flag = false;}}}//加public double add(String str){String numStr1 = "";String numStr2 = "";//需要计算的两个数字所用字符串,初始化for (int i = 0; i < str.length(); i++) {if(str.charAt(i) == '+'){//对numStr1进行赋值操作for(int j = 0; j < i; j++){numStr1 += str.charAt(j);}//对numStr2进行赋值操作for(int j = i+1; j < str.length(); j++){numStr2 += str.charAt(j);}}}//把字符串类型的数字字符转换为double类型的数据,并用num1, num2接收double num1 = Double.parseDouble(numStr1);double num2 = Double.parseDouble(numStr2);//返回算式结果return num1+num2;}//减public double subtraction(String str){String numStr1 = "";String numStr2 = "";for (int i = 0; i < str.length(); i++) {if(str.charAt(i) == '-'){for(int j = 0; j < i; j++){numStr1 += str.charAt(j);}for(int j = i+1; j < str.length(); j++){numStr2 += str.charAt(j);}}}double num1 = Double.parseDouble(numStr1);double num2 = Double.parseDouble(numStr2);return num1-num2;}//乘public double multiplication(String str){String numStr1 = "";String numStr2 = "";//需要计算的两个数字所用字符串,初始化for (int i = 0; i < str.length(); i++) {if(str.charAt(i) == '*'){//对numStr1进行赋值操作for(int j = 0; j < i; j++){numStr1 += str.charAt(j);}//对numStr2进行赋值操作for(int j = i+1; j < str.length(); j++){numStr2 += str.charAt(j);}}}//把字符串类型的数字字符转换为double类型的数据,并用num1, num2接收double num1 = Double.parseDouble(numStr1);double num2 = Double.parseDouble(numStr2);//返回算式结果return num1*num2;}//除public double division(String str){String numStr1 = "";String numStr2 = "";//需要计算的两个数字所用字符串,初始化for (int i = 0; i < str.length(); i++) {if(str.charAt(i) == '/'){//对numStr1进行赋值操作for(int j = 0; j < i; j++){numStr1 += str.charAt(j);}//对numStr2进行赋值操作for(int j = i+1; j < str.length(); j++){numStr2 += str.charAt(j);}}}//把字符串类型的数字字符转换为double类型的数据,并用num1, num2接收double num1 = Double.parseDouble(numStr1);double num2 = Double.parseDouble(numStr2);//返回算式结果return num1/num2;}
}
[ Java ] 实现两个数加减乘除的简易计算器相关推荐
- 每日一练||用Java图形界面实现加减乘除功能的计算器
效果展示 源代码 import javax.swing.*; public class TestDemo {public static void main(String[] args) {// 创建窗 ...
- Java方法:练习,控制台简易计算器
可以更改计算个数的简易计算器 package com.zdz.method;import java.util.Scanner;public class Operator {public static ...
- Java 输入两个数并输出它们的和
题目描述 输入两个整数,输出它们的和. 输入描述 在同一行上输入两个整数,中间用空格分隔 输出描述 两个整数的和,并输出换行 输入样例 3 -5 输出样例 -2 程序代码 import java.ut ...
- java 判断两个数是否异号
java 整型int占4个字节32位,两个数异或后移动31位判断结果,如果是1则异号,如果是0则同号 1 public class ShowEnviromentViarible { 2 3 publi ...
- JAVA判断两个数是否亲和数_亲和数
亲和数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- java判断两个数互质_AcWing 458. 比例简化-java(无需判断互质)
因为数据范围很小,这道题的基本思路就是枚举所有的A'和B',找出最小的那个. 枚举需要满足下面两个条件 1.A'和B'互质 2.A'/B'的比例大于等于原来的比例,并且尽可能接近. 其实这里无需判断A ...
- java求两个数相加代码
假定目前Java环境已经构建完成,然后在编辑器中输入如下一段代码,编译运行,即可实现从控制台输入两个整数,并对其求和将结果输出到控制台. import java.util.*; class Hello ...
- java求两个数的平均值-这么简单我竟然不会?
背景:结合上篇的java位运算,突发奇想,特此总结,如何正确的求2个数的平均值,通过本片文章也让你们认识到bug是如何深埋在你的编程中的. 备注:以int计算为例. 1 通用写法 public st ...
- 使用java交换两个数——CSDN博客
/*** * @Title: test_exchange* @Description: 该方法的主要作用:交换两个数* @param 设定文件 * @return 返回类型:void * @throw ...
最新文章
- Android 自定义View —— Paint
- jquery .parents(), .parent() 和 closest()方法
- Python 技术篇-用PIL库修改图片透明度实例演示,改变png图片色道为RGBA、RGB
- shell 数学运算
- 技术面试中,遇到不会回答的问题怎么破?来,教你几招!
- 5.4 加权最小二乘法
- 打开应用蜂窝移动数据就关闭_基于移动应用行为数据的客户流失预测
- easy ui dialog 关闭之后的怪异问题
- python中使用正则模板匹配结果
- SVN遇到Can't convert string from 'UTF-8' to native encoding(转)
- 一个简单的iBatis入门例子
- 清算号和联行号有区别吗?区别是什么?
- FPGA的NIOS-II开发入门
- 阿里国际站装修尺寸是多少1920像素模板阿里巴巴全屏代码装修教程优化美化店铺工具
- ESP32 学习笔记(二十二)睡眠模式
- STM32的国产替代,盘点下我知道的国产MCU
- 如何使用 Backblaze 和 Cloudflare 搭建免费 CDN - 让白-piao进行到底
- R语言ggplot2可视化散点图(scatter plot)、使用scale_size函数自定义指定散点大小的度量、scale_fill_distiller函数自定义指定散点的颜色映射(填充色的度量)
- 软电话 开源的和免费的大全
- 超级记忆法(4)——第二小时