Java- token "!="上的语法错误,此 token 后应有名称

标签 java

我正在尝试制作一个简单的计算器,并且当我尝试使其在用户未输入给定操作类型之一时显示“错误”时,不断在标题中出现错误。

import java.util.Scanner;

public class experiments {
    public static void main(String args[]) {
        Scanner userInput = new Scanner(System.in);
        String operation;
        double fNum, sNum, ans;

        //select type of operation
        System.out.println("Type addition, subtraction, multiplication, or division, then press enter");
        operation = userInput.nextLine();
        if (operation!=("addition","subtraction","multiplication","division")) {
            System.out.println("error");
        }

        //enter numbers
        System.out.println("Enter first number");
        fNum = userInput.nextDouble();
        System.out.println("Enter second number");
        sNum = userInput.nextDouble();

        //calculate
        if (operation.equals("addition")) {
            ans=fNum + sNum;
        }
        else if (operation.equals("subtraction")) { 
            ans=fNum - sNum;
        }
        else if (operation.equals("multiplication")){
            ans=fNum * sNum;
        }
        else if (operation.equals("division")) {
            ans=fNum/sNum;
        }
        //print answer
        System.out.println("The answer is ");
        System.out.println(ans);    
    }
}

最佳答案

你不能将事物与一组对象进行比较,如下所示:

operation!=("addition","subtraction","multiplication","division")

大概您想要的是“如果操作不是这四件事之一”。你有几个选择。最像您现在所拥有的的是创建一个包含四个合法操作的新ArrayList(例如legalOperations),然后使用legalOperations.contains(operation) .

但是,一种更简洁的方法(“更好的 Java”)是创建一个 enum 并用它来进行比较。

public enum LegalOperations {
    ADDITION,
    SUBTRACTION,
    MULTIPLICATION,
    DIVISION
}

然后您可以与枚举进行比较(例如,也许您可​​以为枚举提供一个构造函数,以允许它为每个枚举常量提供一个明确的字符串值,以及一个 isLegalOperation 方法)。

关于Java- token "!="上的语法错误,此 token 后应有名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334260/

相关文章:

java - 我在 JFrame 中的重绘不起作用

java - 如何检查字节数组内容是否形成 double 而不是字符串Java?

java - 我想使用 org.json.simple.JSONObject 生成以下 JSON 数据对象,如何在 java 中执行此操作?

java - TCP - 如何在本地主机服务器上的两个玩家之间玩 java 游戏

java - 如何删除xml布局背景中的空格?

java - 我应该将文件放在哪里,以便在运行 jar 时能够访问它们?

java - 在 MapReduce 中处理用户输入字符串

java - Maven 打包后无法读取架构文档

java - 如何在derby数据库中存储 HashMap

java - 尝试在我的 java 应用程序中导入音频文件 : misplaced construct(s)