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

本文介绍了使用Java编写一个计算器的过程,包括解决遇到的问题,如使用`hasNextDouble`作为while循环条件,处理除数为零的情况,以及如何逐步构建能够进行四则运算的用户交互式计算器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class HomeworkDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);


        double result = 0;
        while (scanner.hasNextDouble()) {
            double i = scanner.nextDouble();
            String str = scanner.next();
            double j = scanner.nextDouble();

            switch (str) {
                case "+":

                    result = add(i, j);

                    System.out.println(result);
                    break;
                case "-":

                    result = minus(i, j);

                    System.out.println(result);
                    break;
                case "*":

                    result = multiply(i, j);

                    System.out.println(result);
                    break;
                case "/":if(j==0){
                    System.out.println("除数不能为零");
                    break;
                }else

                    result = divide(i, j);

                    System.out.println(result);
                    break;
            }if (str.equals("quit")){
                System.out.println("退出计算器");
                break;
            }


        }scanner.close();
    }

    //加
    public static double add ( double a , double b){
        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;
    }


}

遇到的问题:1. 把scanner.hasNext作为while的布尔表达式,导致输入新的一组待运算数据时,无法给第一个数赋值,而是直接跳到scanner.hasNext的判定。所以把while的布尔表达式更改为scanner.hasNextDouble
2. 除数为零时,不仅输出“除数不能为零”,还输出了一开始给以result的赋值0,添加break;后解决问题。
3. 使用分步解决的思想,能够做出一个做加法运算的计算器,也能做出能够四则运算的计算器。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值