如何在 if() 中使用扫描仪字符串输入

how can i use scanners string input in if()

提问人:yakuzaa31 提问时间:9/28/2022 更新时间:9/28/2022 访问量:21

问:

我希望用户输入一个数字并选择运算符,然后输入另一个数字并了解其结果。我试图编码它,但我失败了,我询问错误的原因和可能的解决方案

我的代码是这样的:

import java.util.Scanner;

public class Test
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
    
    
        System.out.println("Type your first number:");
        double first_num = scan.nextDouble();
    
        System.out.println("Choose the operator"+
        "you want: +, -, x, /");
        String operator = scan.nextLine();
    
        System.out.println("Type your second number:");
        double second_num = scan.nextDouble();
    
    
    
        if(operator="+")
        {
            double sum_result = first_num + second_num;
            System.out.println("The result is: " + 
            sum_result);
        }
    
        else if(operator="-")
        {
            double ext_result = first_num - second_num;
            System.out.println("The result is: " + 
            ext_result);
        }
    
        else if(operator="x")
        {
            double pro_result = first_num * second_num;
            System.out.println("The result is: " + 
            pro_result);
        }
    
        else if(operator="/")
        {
            double div_result = first_num / second_num;
            System.out.println("The result is: " + 
            div_result);
        }
    
    }
}

我收到此错误

Test.java:22: error: incompatible types: String cannot be converted to boolean
        if(operator="+")
                   ^
Test.java:29: error: incompatible types: String cannot be converted to boolean
        else if(operator="-")
                        ^
Test.java:36: error: incompatible types: String cannot be converted to boolean
        else if(operator="x")
                        ^
Test.java:43: error: incompatible types: String cannot be converted to boolean
        else if(operator="/")
                        ^
4 errors

我不确定该怎么做才能将扫描仪的输入用作 if 行中的字符串

if-语句 java.util.scanner

评论


答:

0赞 Michael 9/28/2022 #1

通过键入,您将变量设置为值,这就是错误显示 的原因。operator="+"operator"+"String cannot be converted to boolean

if 语句需要一个布尔值来确定里面的代码是否应该运行,并且只是一个字符串。operator="+"

您的意思是通过使用双等号来与每个字符串进行比较:.对所有 if 和 else if 语句执行此操作。operator(operator == "+")

评论

0赞 yakuzaa31 9/28/2022
非常感谢。我是一个真正帮助我的初学者
0赞 Michael 10/5/2022
没问题,很高兴我能帮上忙!如果这解决了您的问题,请务必批准答案:) @yakuzaa31