lalalah_ 2024-06-24 09:55 采纳率: 0%
浏览 8

java实现计算器功能

7、小型计算器
功能要求:
(1)实现简单加、减、乘、除的运算。
(2)实现除了加、减、乘、除按钮外其他按钮功能。
(3)给软件添加一个编辑、查看、帮助的主菜单。
(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。
(5)科学型计算器与标准计算器之间的菜单切换。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-24 09:55
    关注

    引自免费微信小程序:皆我百晓生

    要实现一个简单的Java计算器,你需要创建一个新的类,并在这个类中定义一些方法来处理各种运算符。下面是一个基本的实现示例:

    public class SimpleCalculator {
        private int num1;
        private char operator;
        private int num2;
    
        public SimpleCalculator(int num1, char operator) {
            this.num1 = num1;
            this.operator = operator;
            this.num2 = 0;
        }
    
        // 加法操作
        public void add() {
            if (num2 == 0) {
                System.out.println("请输入第二个数字");
            } else {
                num1 += num2;
                System.out.println(num1);
            }
        }
    
        // 减法操作
        public void subtract() {
            if (num2 == 0) {
                System.out.println("请输入第二个数字");
            } else {
                num1 -= num2;
                System.out.println(num1);
            }
        }
    
        // 乘法操作
        public void multiply() {
            if (num2 == 0) {
                System.out.println("请输入第二个数字");
            } else {
                num1 *= num2;
                System.out.println(num1);
            }
        }
    
        // 除法操作
        public void divide() {
            if (num2 == 0) {
                System.out.println("除数不能为零!");
            } else {
                num1 /= num2;
                System.out.println(num1);
            }
        }
    
        // 科学型计算器
        public void scientificCalculation() {
            System.out.println("科学计算器已开启,当前操作为:" + num1 + " x " + num2);
        }
    
        // 标准计算器
        public void standardCalculation() {
            System.out.println("标准计算器已开启,当前操作为:" + num1 + " - " + num2);
        }
    
        // 主菜单
        public static void main(String[] args) {
            SimpleCalculator calculator = new SimpleCalculator(0, '+');
            while (true) {
                System.out.println("\n请选择您想要执行的操作:\n"
                        + "1. 加法\n"
                        + "2. 减法\n"
                        + "3. 乘法\n"
                        + "4. 除法\n"
                        + "5. 科学计算\n"
                        + "6. 标准计算\n"
                        + "7. 退出");
    
                Scanner scanner = new Scanner(System.in);
                int choice = scanner.nextInt();
    
                switch (choice) {
                    case 1:
                        calculator.add();
                        break;
                    case 2:
                        calculator.subtract();
                        break;
                    case 3:
                        calculator.multiply();
                        break;
                    case 4:
                        calculator.divide();
                        break;
                    case 5:
                        calculator.scientificCalculation();
                        break;
                    case 6:
                        calculator.standardCalculation();
                        break;
                    default:
                        System.out.println("无效选择,请重新输入。");
                        break;
                }
            }
        }
    }
    

    这个程序首先定义了SimpleCalculator类,它包含四个私有变量:num1用于存储第一个数字,operator用于存储当前正在使用的运算符,num2用于存储第二个数字,以及三个公共方法:add()、subtract()、multiply()分别用于进行加法、减法、乘法运算;divide()用于除法运算;scintificCalculation()和standardCalculation()则用于显示科学计算器和标准计算器的界面。此外,还有一个main()方法来初始化并运行计算器实例,用户可以选择进行不同的数学运算。

    为了增加复杂度,可以考虑引入异常处理机制,例如当用户输入非数字时,程序会提示错误信息,并询问用户是否继续输入。同时,也可以考虑添加更多的运算符和功能,例如指数运算、对数运算等。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月24日

悬赏问题

  • ¥20 ESP32使用MicroPyhon开发,怎么获取485温湿度的值,温湿度计使用的鞋子是Modbus RTU
  • ¥50 苹果MGIE项目部署缺少emb权重
  • ¥15 采用ansys进行机翼在特定路径下的打孔过程中的受力分析
  • ¥15 单片机adb主机连接手机,usb调试密钥无法保存
  • ¥15 已知X和Y有以下关系,求X和Y的关系式
  • ¥15 net core 同时编辑怎么防止数据多保存了
  • ¥15 matlab做ba模型让其在ba和er规则下生长
  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView