java简易计算器(多种方法)

news2024/12/26 17:04:32

parseDouble() 方法属于 java.lang.Double 类。它接收一个字符串参数,其中包含要转换的数字表示。如果字符串表示一个有效的 double,它将返回一个 double 值。 

应用场景

parseDouble() 方法在以下场景中非常有用:

  • 从用户输入中获取数字(例如,文本字段或控制台)
  • 解析配置文件或数据文件中存储的数字
  • 将数字从其他数据格式(例如,JSON 或 XML)转换为 double

第一种方法:

  • switch{
  •     case:    }
  • switch case 语句语法格式如下:
  • switch(expression){
        case value :
           //语句
           break; //可选
        case value :
           //语句
           break; //可选
        //你可以有任意数量的case语句
        default : //可选
           //语句
    }
import java.util.Scanner;

public class Info {
    public static void main(String[] args) {

        System.out.print("请输出第一个数:");
        Scanner scanner = new Scanner(System.in);
        String x = scanner.nextLine();

        System.out.println("请输入算术运算符(+ ,- ,* ,/)");
        String o = scanner.nextLine();

        System.out.print("请输出第二个数:");
        String y = scanner.nextLine();

        double Result = number(Double.parseDouble(x),Double.parseDouble(y),o);
        System.out.println(Result);

    }
    public static double number(double num1, double num2, String opr){

        double result =0;
        switch (opr){
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
        }
        return result;
    }
}

第二种方法:

for+if+else

 Scanner 类来获取用户的输入

import java.util.Scanner;

public class 计算器方法二 {
    public static void main(String[] args) {
        System.out.print("==========================================");
        System.out.println("请输入一个算术表达式,如:25*50");
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        StringBuffer buffer = new StringBuffer();
        StringBuffer buffer1 = new StringBuffer();
        char opr = ' ';
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == '+' || str.charAt(i) == '-'       //charAt(i)函数用于获取字符串中第i位置的字符
                    || str.charAt(i) == '*' || str.charAt(i) == '/') {
                opr = str.charAt(i);

                for (int j = i + 1; j < str.length(); j++) {
                    buffer1.append(str.charAt(j));
                }
                break;
            } else {
                buffer.append(str.charAt(i));
            }
        }
        String c = buffer.toString();
        String d = buffer1.toString();
        double a = Double.parseDouble(c);
        double b = Double.parseDouble(d);
        double sum = 0;
        if (opr == '+') {
            sum = a + b;
        }
        if (opr == '-') {
            sum = a - b;
        }
        if (opr == '*') {
            sum = a * b;
        }
        if (opr == '/') {
            sum = a / b;
        }
        System.out.println("程序运算中...");
        System.out.println(c+opr+d+"="+sum);
        System.out.print("==========================================");
    }
}

import java.util.Scanner;

public class 计算器{

	public static void main(String[] args) {
	        System.out.println("这是一个可以计算 +, -, *, /, 的计算器"); 
			Scanner num=new Scanner(System.in);  
			System.out.println("请输入第一个计算的数字");    
		double num1=num.nextInt(); 
			System.out.println("请输入一个运算符"); 
		char x = num.next().charAt(0);  
//Scanner.next().charAt(0)具体含义就是,获取用户输入的字符串中的第一个字符,其中也存在在隐式类型的转化,将字符串型转化成字符型。
			System.out.println("请输入第二个计算的数字");   
		double num2=num.nextInt(); 
			
		double result ;
		if (x=='+') { 
			result=num1+num2;
			System.out.println(num1+"+"+num2+"="+result);
		}
		else if (x=='-') {
		    result=num1-num2;
			System.out.println(num1+"-"+num2+"="+result);
		}
		else if (x=='*') {
		    result=num1*num2;
			System.out.println(num1+"*"+num2+"="+result);
		}
		else if (x=='/') {
			result=num1/num2;
			System.out.println(num1+"/"+num2+"="+result);
		}
		else 
		    System.out.println("我就知道有憨憨会输入错误0.0");

	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

邮箱接口代码在安全性方面有哪些考虑因素?

邮箱接口代码如何实现&#xff1f;如何编写高效的邮箱接口代码&#xff1f; 邮箱接口代码在现代网络应用中发挥着重要作用&#xff0c;尤其是在处理电子邮件的发送和接收时。确保邮箱接口代码的安全性已成为开发者和企业的首要任务。AoKSend将探讨邮箱接口代码在安全性方面的考…

Talk|CityU 助理教授马佳葳: CVPR 2024, 基于多模态理解的混合数据专家模型

本期为TechBeat人工智能社区第604期线上Talk。 北京时间6月27日(周四)20:00&#xff0c;香港城市大学助理教授—马佳葳的Talk已经准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “基于多模态理解的混合数据专家模型”&#xff0c;他向大家介绍了混合数据专…

快递大件多少算超重物品?

在快递大件物品时&#xff0c;我们经常听到“超重”这个词&#xff0c;但究竟多重才算超重呢&#xff1f;今天&#xff0c;就让我们来探讨一下快递大件的超重标准&#xff0c;以及如何更经济地快递这些超重物品。 1. 祺祺寄快递&#xff1a; “祺祺寄快递”是一个便捷的快递服…

完美解决ValueError: column index (256) not an int in range(256)的正确解决方法,亲测有效!!!

完美解决ValueError: column index (256) not an int in range(256)的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 亲测有效 完美解决ValueError: column index (256) not an int in range(256)的正确解决方法&#xff0c;亲测有效&#xff01;&…

鉴源实验室·基于MQTT协议的模糊测试研究

作者 | 张渊策 上海控安可信软件创新研究院工控网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 随着物联网技术的快速发展&#xff0c;越来越多的设备加入到互联网中&#xff0c;形成了庞大的物联网系统。这些设备之间的通信…

快20倍还便宜 NVIDIA GPU的“掘墓人”出现了?

芯片初创公司Etched近日宣布推出了一款针对 Transformer架构专用的AISC芯片 “Sohu”&#xff0c;并声称其在AI大语言模型&#xff08;LLM&#xff09;推理性能方面击败了NVIDIA最新的B200 GPU&#xff0c;AI性能达到了H100的20倍。这也意味着Sohu芯片将可以大幅降低现有AI数据…

【大模型】大模型微调方法总结(四)

1. P-Tuning v1 1.背景 大模型的Prompt构造方式严重影响下游任务的效果。比如&#xff1a;GPT-3采用人工构造的模版来做上下文学习&#xff08;in context learning&#xff09;&#xff0c;但人工设计的模版的变化特别敏感&#xff0c;加一个词或者少一个词&#xff0c;或者变…

MCGS仿真教学3:动画的平移

目录 一、绘制图形和按钮功能二、移动动画三、添加功能变量四、添加循环脚本![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f42c6b18e1cb4dbf8075c389878d3ae7.gif)五、完成演示 一、绘制图形和按钮功能 全部由单个矩形组成 二、移动动画 三、添加功能变量 四、…

CDGA|数据治理:自上而下与自下而上的双重策略

在数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一。为了充分发挥数据的价值&#xff0c;数据治理成为了企业不可或缺的一环。然而&#xff0c;数据治理并非一蹴而就的过程&#xff0c;它需要综合考虑多个方面&#xff0c;包括组织架构、技术工具、业务流程以及人员培…

阐述以下方法 @classmethod, @staticmethod, @property?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【合作ACM出版,稳定EI、Scopus稳定检索】第五届城市工程与管理科学国际会议(ICUEMS 2024,8月2-4)

第五届城市工程与管理科学国际会议&#xff08;ICUEMS 2024&#xff09;将于2024年8月2-4日在天津举行。 会议的目的是为从事城市工程、管理科学相关领域的专家、学者、工程师和技术研究人员提供一个平台&#xff0c;分享科研成果和前沿技术&#xff0c;了解学术发展趋势&…

CSDN原力值涨分规则

CSDN的原力值是指用户在CSDN社区中的影响力和贡献程度的评估指标。原力值是根据用户在CSDN平台上的发表文章、获得的点赞和评论数量、参与的社区活动等多个因素综合计算得出的。较高的原力值意味着用户在CSDN社区中的影响力和知名度较高&#xff0c;其发表的文章和回答的问题可…

DevEco Studio有时会多出来.js和.map文件,导致项目不能运行

1、问题 在使用DevEco的时候有时候会出现啥都没干&#xff0c;但是在项目的目录下会自动生成和文件同名的.js和.js.map文件&#xff0c;至于为什么会生成目前我也不知道&#xff0c;如果想要更深了解可以到论坛讨论&#xff1a;华为开发者论坛。生成.js和.js.map文件优…

2023年第十四届蓝桥杯JavaB组省赛真题及全部解析(下)

承接上文&#xff1a;2023年第十四届蓝桥杯JavaB组省赛真题及全部解析&#xff08;下&#xff09;。 目录 七、试题 G&#xff1a;买二赠一 八、试题 H&#xff1a;合并石子 九、试题 I&#xff1a;最大开支 十、试题 J&#xff1a;魔法阵 题目来自&#xff1a;蓝桥杯官网…

嵌入式Linux系统编程 — 4.5 strcmp、strchr 等函数实现字符串比较与查找

目录 1 字符串比较 1.1 strcmp() 函数 1.2 strncmp() 函数 1.3 示例程序 2 字符串查找 2.1 strchr() 函数 2.2 strrchr() 函数 2.3 strstr() 函数 2.4 strpbrk() 函数 2.5 示例程序 1 字符串比较 strcmp() 和 strncmp() 函数是C语言标准库中用于比较两个字符串的函…

Node.js实验指南:完善接口服务器

上一章接口服务器&#xff0c;我们实现了一个异常简单的接口服务器。可能很多人会感觉有点不真实的感觉&#xff0c;接口这么简单吗&#xff1f;没错&#xff0c;就这么简单。 我们在真实项目的前后端对接中&#xff0c;调用接口&#xff0c;拿到数据&#xff0c;就是如此而已…

20240624(周一)AH股行情总结:A股低开低走, 恒生科技指数跌2%,贵州茅台转跌为涨

内容提要 A股三大指数收盘均跌超1%&#xff0c;半导体、智慧医疗、商业航天概念领跌&#xff0c;中芯国际跌超3%&#xff0c;盘中一度涨2%。水电股逆势走强&#xff1b;白酒股低开高走&#xff0c;贵州茅台翻红&#xff0c;盘初曾跌3%。微盘股指数大跌4%。 正文 周一&#x…

社区便民团购小程序源码系统 前后端分离 带完整源代码包以及搭建部署教程

系统概述 随着移动互联网的快速发展&#xff0c;社区团购凭借其便利性、优惠性逐渐走进人们的生活&#xff0c;成为了日常生活不可或缺的一部分。为了满足市场对此类服务的需求&#xff0c;我们特别推出了一款社区便民团购小程序源码系统&#xff0c;该系统采用前后端分离架构…

高考选专业分析,裁员潮下计算机专业还值得选择吗?

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 选择大学专业是一项非常重要的决策&#xff0c;尤其是在当前外部环境变化及技术快速发展的背景下。对于“是否还应该选择计算机专业”这个问题&…

C#/.NET量化开发实现财富自由【4】实现EMA、MACD技术指标的计算

听说大A又回到了2950点以下&#xff0c;对于量化交易来说&#xff0c;可能这些都不是事儿。例如&#xff0c;你可以预判到大A到顶了&#xff0c;你可能早就跑路了。判断逃顶还是抄底&#xff0c;最简单的方式就是判断是否顶背离还是底背离&#xff0c;例如通过MACD&#xff0c;…