Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的用户输入和.equals()问题_Java_String - Fatal编程技术网

Java中的用户输入和.equals()问题

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? ");

我对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? ");
        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”)