Java中的用户输入和.equals()问题
我对java编码相当陌生,但错误在于,如果我键入正确答案或不正确答案,它仍然会同时显示正确和不正确Java中的用户输入和.equals()问题,java,string,Java,String,我对java编码相当陌生,但错误在于,如果我键入正确答案或不正确答案,它仍然会同时显示正确和不正确 import java.util.Scanner; public class MathTest { public static void main(String[] args) { Scanner user_input = new Scanner(System.in); System.out.println("What is 5 times 4? ");
import java.util.Scanner;
public class MathTest {
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
String question;
question = user_input.next();
if (question.equals(20));
System.out.println("Correct!");
if (!"20".equals(question));
System.out.println("Incorrect!");
}
}
从if语句末尾删除分号。它被视为空行
或者甚至使用显式大括号,比如
if(foo){bar();}
从if语句的末尾删除分号。它被视为空行
或者甚至使用显式大括号,比如
if(foo){bar();}
,这是因为if后面有一个分号。删除它,最好在println语句周围放上大括号,以显示哪些语句属于if。现在,你已经写信了
if (...); a;
这相当于
if (...)
{
}
a;
而你的意思是
if (...)
{
a;
}
这是因为if后面有一个分号。删除它,最好在println语句周围放上大括号,以显示哪些语句属于if。现在,你已经写信了
if (...); a;
这相当于
if (...)
{
}
a;
而你的意思是
if (...)
{
a;
}
你的条件if有点错误,这应该可以做到:(未测试) 在你的原始代码中,你有;在if的末尾。这会通知编译器这是该行的结尾。因此,为什么同时显示“正确”和“不正确”。因为它们不是条件语句的一部分
希望这有帮助!:) 您的条件if有点错误,这应该可以做到:(未测试) 在你的原始代码中,你有;在if的末尾。这会通知编译器这是该行的结尾。因此,为什么同时显示“正确”和“不正确”。因为它们不是条件语句的一部分
希望这有帮助!:) 分号结束if语句,因此每个if下面的语句将始终执行。另外:if(question.equals(20))应该是if(question.equals(“20”)),因为用户输入的是字符串,您希望比较字符串 守则内容如下:
public class MathTest {
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
String question;
question = user_input.next();
if (question.equals("20")) {
System.out.println("Correct!");
}
if (!"20".equals(question)) {
System.out.println("Incorrect!");
}
}
}
值得一提的是,扫描器还有其他读取用户输入的方法,例如,您可以读取整数而不是如下所示的字符串:Integer answer=answer=user_input.nextInt();然后比较整数,如:
if (answer == 20) {
System.out.println("Correct!");
} else {
System.out.println("Incorrect!");
}
分号结束if语句,因此每个if下面的语句将始终执行。另外:if(question.equals(20))应该是if(question.equals(“20”)),因为用户输入的是字符串,您希望比较字符串 守则内容如下:
public class MathTest {
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
String question;
question = user_input.next();
if (question.equals("20")) {
System.out.println("Correct!");
}
if (!"20".equals(question)) {
System.out.println("Incorrect!");
}
}
}
值得一提的是,扫描器还有其他读取用户输入的方法,例如,您可以读取整数而不是如下所示的字符串:Integer answer=answer=user_input.nextInt();然后比较整数,如:
if (answer == 20) {
System.out.println("Correct!");
} else {
System.out.println("Incorrect!");
}
简单点
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
System.out.println(user_input.next().equals("20") ? "Correct" : "Incorrect");
简单点
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
System.out.println(user_input.next().equals("20") ? "Correct" : "Incorrect");
找到你的解决方案,兄弟。。。。。。。 提示:对于字符串,请使用“20”而不是20 公共类解决方案{
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
String question;
question = user_input.next();
if (question.equals("20")){
System.out.println("Correct!");
}else{
System.out.println("Incorrect!");
}
}
}找到你的解决方案,兄弟。。。。。。。 提示:对于字符串,请使用“20”而不是20 公共类解决方案{
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("What is 5 times 4? ");
String question;
question = user_input.next();
if (question.equals("20")){
System.out.println("Correct!");
}else{
System.out.println("Incorrect!");
}
}
}等于(20)
也应该是等于(“20”)
等于(20)
也应该是等于(“20”)
。