Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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 我的程序已成功编译并运行,但显示错误的输出_Java - Fatal编程技术网

Java 我的程序已成功编译并运行,但显示错误的输出

Java 我的程序已成功编译并运行,但显示错误的输出,java,Java,我的程序必须显示问题“Is 10>2”的答案是正确的、错误的还是用户输入错误的。即使我输入“是”或“否”,它仍然会显示错误的输入。这是一个非常非常简单的程序。不过,我是个新手。任何帮助都将不胜感激 import java.util.Scanner; public class yesorno{ public static void main (String args[]){ Scanner answer = new Scanner(System.in); String ans

我的程序必须显示问题“Is 10>2”的答案是正确的、错误的还是用户输入错误的。即使我输入“是”或“否”,它仍然会显示错误的输入。这是一个非常非常简单的程序。不过,我是个新手。任何帮助都将不胜感激

import java.util.Scanner;

public class yesorno{

public static void main (String args[]){

    Scanner answer = new Scanner(System.in);
    String ans;

    System.out.println("Answer with a YES or NO");
    System.out.println("Is 10>2?");
    System.out.print("Answer:");
    ans = answer.next();

    if(ans == "YES"){
        System.out.print("Correct!");
    }

    else if (ans == "NO"){
        System.out.println("Wrong!");
    }

    else{
        System.out.println("Wrong input!");
    }
}
}
您应该使用来比较字符串,而不是
运算符==

请注意,只有当两个对象实际上是同一个对象时,
operator==
才会产生true,事实并非如此


如果(ans.equals(“YES”){[并对程序中的所有其他条件执行相同操作]

您在Java中使用==进行字符串比较,这通常是不推荐的,因为==进行对象比较,而不是实际的字符串比较

尝试使用equals()方法

也就是说,从

if(ans == "YES"){
    System.out.print("Correct!");
}

else if (ans == "NO"){
    System.out.println("Wrong!");
}


@keavy:我添加了条件应该是什么,还附加了一个指向java文档的
equals()
方法的链接,这样你就可以阅读更多关于它的内容。好吧,好吧。还有一件事,“==”只用于数字吗?@keavy:
操作符==
用于检查身份,而不是平等。如果是-identity,则是平等。它起作用了!非常感谢。有一件事,你是“==”仅适用于数字?
if(ans == "YES"){
    System.out.print("Correct!");
}

else if (ans == "NO"){
    System.out.println("Wrong!");
}
if(ans. equals("YES")){
    System.out.print("Correct!");
}

else if (ans.equals("NO")){
    System.out.println("Wrong!");
}