Day22-20260118

作业

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

思路推荐:

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

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

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

  4. 输出结果

java 复制代码
package com.jiaguangqing.method;

import java.util.Scanner;

public class DemoZuoYe {
    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){
            System.out.println("除数不能为"0"!");
        }
        return a/b;
    }//除法
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean on = true;
        while(on){
            System.out.println("欢迎使用贾光清的计算器!");
            System.out.println("1:加法运算!");
            System.out.println("2:减法运算!");
            System.out.println("3:乘法运算!");
            System.out.println("4:除法运算!");
            System.out.println("0:退出!");
            System.out.println("请选择你要进行的运算(输入对应的数字即可)!");
            int choice = scanner.nextInt();
            switch (choice){
                case 1://加法
                    System.out.println("请输入第一个加数:");
                    double add1 = scanner.nextDouble();
                    System.out.println("请输入第二个加数:");
                    double add2 = scanner.nextDouble();
                    double addSum = add(add1,add2);
                    System.out.println("结果:"+add1+"+"+add2+"="+addSum);
                    break;
                case 2://减法
                    System.out.println("请输入被减数:");
                    double subtract1 = scanner.nextDouble();
                    System.out.println("请输入减数:");
                    double subtract2 = scanner.nextDouble();
                    double subtractDifference = subtract(subtract1,subtract2);
                    System.out.println("结果:"+subtract1+"-"+subtract2+"="+subtractDifference);
                    break;
                case 3://乘法
                    System.out.println("请输入第一个乘数:");
                    double multiply1 = scanner.nextDouble();
                    System.out.println("请输入第二个乘数:");
                    double multiply2 = scanner.nextDouble();
                    double multiplyProduct = multiply(multiply1,multiply2);
                    System.out.println("结果:"+multiply1+"*"+multiply2+"="+multiplyProduct);
                    break;
                case 4://除法
                    System.out.println("请输入被除数:");
                    double divide1 = scanner.nextDouble();
                    System.out.println("请输入除数:");
                    double divide2 = scanner.nextDouble();
                    double divideQuotient = divide(divide1,divide2);
                    System.out.println("结果:"+divide1+"/"+divide2+"="+divideQuotient);
                    break;
                case 0://退出
                    on = false;
                    System.out.println("程序已退出!");
                    break;
                default:
                    System.out.println("输入错误,请选择0~4之间的数字");
            }
        }
        scanner.close();
    }
}
java 复制代码
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
1
请输入第一个加数:
8
请输入第二个加数:
9
结果:8.0+9.0=17.0
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
2
请输入被减数:
9
请输入减数:
8
结果:9.0-8.0=1.0
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
3
请输入第一个乘数:
8
请输入第二个乘数:
9
结果:8.0*9.0=72.0
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
4
请输入被除数:
9
请输入除数:
8
结果:9.0/8.0=1.125
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
4
请输入被除数:
9
请输入除数:
0
除数不能为"0"!
结果:9.0/0.0=Infinity
欢迎使用贾光清的计算器!
1:加法运算!
2:减法运算!
3:乘法运算!
4:除法运算!
0:退出!
请选择你要进行的运算(输入对应的数字即可)!
0
程序已退出!

进程已结束,退出代码为 0
相关推荐
NE_STOP6 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室11 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风13 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme13 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better13 小时前
学会与虚拟机对话---ASM
java
开源之眼15 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31616 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027317 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋17 小时前
DecimalFormat 与 BigDecimal
java·后端
beata17 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端