简易计算器案例

计算器案例

  • 写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现

  • 思路:

    1. 写4个方法:加减乘除

    2. 利用循环 + switch进行用户交互

    3. 传递需要操作的两个数

    4. 输出结果

import java.text.DecimalFormat;
 ​
 import java.util.Scanner;
 ​
 public class CalculateDemo01 {
     public static void main(String[] args) {
          // 创建一个扫描器对象,用于接收键盘数据
         Scanner scanner = new Scanner(System.in);
         //DecimalFormat df = new DecimalFormat("#.##"); // 保留两位小数
 ​
         while (true) {
             System.out.println("\n=== 简易计算器 ===");
             System.out.println("请输入第一个数字:");
             double x = scanner.nextDouble();
 ​
             System.out.println("请输入运算符号(+, -, *, /):");
             String s = scanner.next(); // 这里用next()而不是nextLine()
 ​
             System.out.println("请输入第二个数字:");
             double y = scanner.nextDouble();
 ​
             double result = 0;
             boolean validOperation = true;
 ​
             switch (s) {
                 case "+":
                     result = add(x, y);
                     break;
                 case "-":
                     result = sub(x, y);
                     break;
                 case "*":
                     result = multi(x, y);
                     break;
                 case "/":
                     if (y == 0) {
                         System.out.println("错误:除数不能为零!");
                         validOperation = false;
                     } else {
                         result = div(x, y);
                     }
                     break;
                 default:
                     System.out.println("不合法的运算符号");
                     validOperation = false;
             }
             
             if (validOperation) {
                 // String formattedResult = df.format(result);
                 String formattedResult = String.format("%.2f", result); // 保留两位小数
                 System.out.println("计算结果:" + x + " " + s + " " + y + " = " +  formattedResult);
             }
             
             System.out.println("是否继续计算?(Yes/No)");
             String continueCalc = scanner.next();
             if (!continueCalc.equalsIgnoreCase("Yes")) {
                 System.out.println("感谢使用计算器,再见!");
                 break;
             }
         }
         scanner.close();
     }
     
     public static double add(double a, double b) {
         return a + b;
     }
     public static double sub(double a, double b) {
         return a - b;
     }
     public static double multi(double a, double b) {
         return a * b;
     }
     public static double div(double a, double b) {
         return a / b;
     }
 }

  1. 循环结构:使用 while(true) 循环让计算器可以持续运行

  2. 输入问题:采用 next(),避免输入换行符的问题

  3. 除法零检查:防止除以零的错误

  4. 用户交互

    • 添加清晰的提示信息

    • 显示完整的计算表达式

    • 添加继续计算的选项

  5. 优化了输出格式:让结果显示更清晰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值