我希望能够让用户选择他/她想要做的事情,然后在代码结尾处添加,减去,除法或乘以用户响应。我该怎么做呢?使用if
语句,它不能将字符串userinput转换为boolean
。
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner kboard = new Scanner(System.in);
System.out.print("Would you like to addition subtract divide or multiply? ");
String userinput = kboard.nextLine();
System.out.print("enter the first number ");
String firstnumber = kboard.nextLine();
String s1 = firstnumber;
int n1 = Integer.parseInt(s1);
System.out.print("enter the second number ");
String secondnumber = kboard.nextLine();
String s2 = secondnumber;
int n2 = Integer.parseInt(s2);
if (userinput) {
}
}
}
答案 0 :(得分:1)
您需要使用switch
。 (你也可以在参数中使用String)
伪代码:
switch(userinput) {
case "multiply" : //multiply code here
break;
case "subtraction": //subtraction code here
break;
... //and so on
default: // executes when user puts in wrong input
break;
}
在每个案例之后使用break
很重要,否则所有案例都将以自上而下的方式执行。
你的项目中还有很多无用的代码。你可以减少这个:
String firstnumber = kboard.nextLine();
String s1 = firstnumber;
int n1 = Integer.parseInt(s1);
对此:
int n1 = Integer.parseInt(kboard.nextLine());
答案 1 :(得分:0)
问题在于你的if
陈述,你所做的是不合逻辑的。
但是,要比较Strings
中的Java
,您必须使用以下规定的格式:
if(userinput.equals("texttocompare"))
//or
if(userinput.equals(variabletocompare)
答案 2 :(得分:0)
添加:
if (userinput.equalsIgnoreCase("multiply")) {
answer = n1 * n2;
System.out.println(answer);
} else if (userinput.equalsIgnoreCase("divide")) {
answer = n1 / n2;
System.out.println(answer);
}