我想为基本的数学运算制作计算器。如果用户输入任何其他字符而不是/,*,-,+程序,则应退出。但用户只能输入其他字符才能退出。程序必须重新显示主菜单。
我尝试过很多次,只能通过数学运算。但是我想不出办法。

这是我的代码

package com.cv;

import java.util.Scanner;

class Q_04 {
    public static double math(double x, double y, char a) {
        if (a == '/') {
            return x / y;
        } else if (a == '*') {
            return x * y;
        } else if (a == '+') {
            return x + y;
        } else if (a == '-') {
            return x - y;
        }
        return a;
    }

    public static void main(String[] argv) {
        System.out.println(
                "\t*:For multiplication\n\t/:For division\n\t+:For addition\n\t-:For substraction\n\tAny other character:To exit mathematical operation");
        Scanner sc = new Scanner(System.in);
        String z = sc.nextLine();
        char a = z.charAt(0);
        System.out.print("Enter Number 1: ");
        double x = sc.nextDouble();
        System.out.print("Enter Number 2: ");
        double y = sc.nextDouble();
        double result = 0;
        System.out.println("Answer is " + math(x, y, a));
    }
}

最佳答案

我不会键入代码,但会写出大致思路。首先有一个while循环,它将使操作符生效。如果运算符有效,则执行break;,否则将重复输入。只需执行此操作即可解决您的问题。其余代码将随后出现。注意范围(即,在方括号内声明变量)。

编辑:
如果要中断程序,只需添加一条if语句if (!(operator.equals("*") || operator.equals("+") ... etc。另外,如果您确实想要好的设计,则可以使用哈希集来存储操作。

关于java - Java基本CLI计算器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39045914/

10-14 19:27