提问人:yakuzaa31 提问时间:9/28/2022 更新时间:9/28/2022 访问量:21
如何在 if() 中使用扫描仪字符串输入
how can i use scanners string input in if()
问:
我希望用户输入一个数字并选择运算符,然后输入另一个数字并了解其结果。我试图编码它,但我失败了,我询问错误的原因和可能的解决方案
我的代码是这样的:
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 行中的字符串
答:
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
上一个:使用 scanner 使用 if 语句初始化局部变量
下一个:错误答案捕手
评论