关于简单的计算器:java写一个计算器,实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现

该Java程序创建了一个基础的命令行计算器,支持加、减、乘、除操作,并能持续接收用户输入进行计算。当用户输入C时,系统会清零。程序使用了Scanner类获取用户输入,并通过switch-case结构处理不同运算符。

关于简单的计算器:java写一个计算器,实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现

我居然傻逼到用多了for然后忘了while

铸币

​
​
package com.Pure.Method;
​
import java.util.Scanner;
​
public class Demo07Count {
    public static void main(String[] args) {
​
        Scanner scanner = new Scanner(System.in);
        System.out.println("欢迎使用本辣鸡两数计算器,下面请开始您的输入:");
        System.out.println("输入C可清零");
        while (scanner.hasNext()) {
            double num1 = scanner.nextDouble();
            String opreator = scanner.next();
            double num2 = scanner.nextDouble();
            switch (opreator) {
                case "+":
                    System.out.println(add(num1, num2));
                    break;
                case "-":
                    System.out.println(subtract(num1, num2));
                    break;
                case "*":
                    System.out.println(multiply(num1, num2));
                    break;
                case "/":
                    System.out.println(divide(num1, num2));
                    break;
                default:
                    System.out.println("ERROR: Unknown");
                    break;
            }
​
        }
​
    }
​
    //加
    public static double add(double x, double y) {
​
        return (x + y);
    }
​
    //减
    public static double subtract(double x, double y) {
​
        return (x - y);
    }
​
    //乘
    public static double multiply(double x, double y) {
​
        return (x * y);//返回给方法
    }
​
    //除
    public static double divide(double x, double y) {
​
        if (y == 0) {
            System.out.println("ERROR");
        } else {
            return (x / y);
​
        }
        return (x / y);
​
​
    }
}
<think>我们需要创建一个简单的命令行计算器,它可以循环接收用户输入,进行加减乘除运算,直到用户选择退出。 步骤: 1. 创建四个方法:add, subtract, multiply, divide,分别实现加减乘除。 2. 使用循环(例如while循环)来持续接收用户输入。 3. 在循环内,提示用户输入操作数以及操作符。 4. 使用switch语句根据操作符调用相应的运算方法。 5. 处理除法时的除数为0的情况。 6. 提供退出选项(例如输入某个特定字符退出循环)。 注意:由于除法运算可能需要处理小数,我们使用double类型来存储操作数和结果。 代码结构: - 主方法:包含循环用户交互 - 四个静态方法用于运算 我们将使用Scanner类来读取用户输入。 详细步骤: 1. 导入java.util.Scanner。 2. 在main方法中,创建Scanner对象。 3. 使用while循环,设置一个标志或者通过用户输入退出命令(比如输入"exit")来退出。 4. 在每次循环中,提示用户输入第一个数字(如果输入非数字则提示重新输入)、操作符(+、-、*、/)、第二个数字。 5. 根据操作符使用switch选择运算方法。 6. 除法时检查除数是否为0,若为0则提示错误并重新输入。 但是,为了简化,我们可以每次先输入第一个数,然后输入操作符,再输入第二个数。然后计算并输出结果。 另外,我们可以考虑允许用户连续计算(即上次的结果作为下一次的第一个操作数)?但题目要求传递两个操作数,所以我们每次都要两个操作数。 我们设计如下: 每次循环: 提示输入第一个数(或输入退出命令) 如果输入的是退出命令(如"q"),则退出循环。 否则,将输入解析为double。 然后输入操作符(如果输入退出命令则退出) 然后输入第二个数。 但是,也可以设计成一行输入:例如 5 + 3 这样,但题目要求传递两个操作数,我们可以分开输入。 我们按照分开输入的方式: 示例交互: 请输入第一个数(或输入q退出): 5 请输入操作符(+、-、*、/): + 请输入第二个数: 3 结果: 8 然后继续下一次循环。 代码实现: </think>以下是一个具备加减乘除功能、支持循环交互的Java计算器实现代码: ```java import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("\n--- 简易计算器 ---"); System.out.println("请输入第一个操作数 (输入q退出):"); String input1 = scanner.next(); if (input1.equalsIgnoreCase("q")) break; System.out.println("请输入运算符 (+, -, *, /):"); char operator = scanner.next().charAt(0); System.out.println("请输入第二个操作数:"); String input2 = scanner.next(); if (input2.equalsIgnoreCase("q")) break; try { double num1 = Double.parseDouble(input1); double num2 = Double.parseDouble(input2); double result = 0; switch (operator) { case '+': result = add(num1, num2); break; case '-': result = subtract(num1, num2); break; case '*': result = multiply(num1, num2); break; case '/': result = divide(num1, num2); break; default: System.out.println("无效运算符!"); continue; } System.out.printf("计算结果: %.2f %c %.2f = %.2f%n", num1, operator, num2, result); } catch (NumberFormatException e) { System.out.println("输入无效,请输入数字!"); } catch (ArithmeticException e) { System.out.println(e.getMessage()); } } System.out.println("计算器已退出"); scanner.close(); } // 加法方法 public static double add(double a, double b) { return a + b; } // 减法方法 public static double subtract(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) { if (b == 0) { throw new ArithmeticException("错误:除数不能为零!"); } return a / b; } } ``` ### 代码说明: 1. **四则运算方法**: - `add()`:加法运算 $a + b$ - `subtract()`:减法运算 $a - b$ - `multiply()`:乘法运算 $a \times b$ - `divide()`:除法运算 $\frac{a}{b}$,包含除零检查 2. **用户交互流程**: - 使用无限循环持续接收输入 - 输入`q`可随时退出程序 - 异常处理: - 数字格式验证(避免非数字输入) - 除零错误处理 - 无效运算符检测 3. **输入/输出示例**: ``` --- 简易计算器 --- 请输入第一个操作数 (输入q退出): 12.5 请输入运算符 (+, -, *, /): * 请输入第二个操作数: 4 计算结果: 12.50 * 4.00 = 50.00 ``` ### 特性: 1. 支持小数运算(使用`double`类型) 2. 实时错误检测(无效输入、除零错误等) 3. 循环交互模式,无需重启即可多次计算 4. 格式化输出结果(保留两位小数)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值