Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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_If Statement_User Input_Println - Fatal编程技术网

Java 逻辑总是失败的

Java 逻辑总是失败的,java,if-statement,user-input,println,Java,If Statement,User Input,Println,这是我输入6月27日日期(逻辑正确)的一部分,但它仍然打印日期不正确(逻辑失败) 我不明白为什么它仍然失败 **Code:** Scanner date = new Scanner(System.in); Scanner month = new Scanner(System.in); System.out.println("Enter date"); int dat = date.nextInt(); String mon= "june"; //String month="feb"; Syst

这是我输入6月27日日期(逻辑正确)的一部分,但它仍然打印日期不正确(逻辑失败)

我不明白为什么它仍然失败

**Code:**

Scanner date = new Scanner(System.in);
Scanner month = new Scanner(System.in);
System.out.println("Enter date");
int dat = date.nextInt();
String mon= "june";
//String month="feb";
System.out.println("now enter month");
String mont= month.nextLine();

if (dat== 27 && mont==mon) {
    System.out.println("yes thats the correct date");
}
else {
    System.out.println("no thats not the correct date");
}

您需要使用
equals()
而不是
=
来比较对象(包括字符串):

if (dat== 27 && mont.equals(mon)){
  // ...
}

问题出现在字符串比较中

String mont= month.nextLine();
if (dat== 27 && mont==mon){

mont==mon
检查
mont
mon
是否为同一对象。使用
mont.equals(mon)

这里有很多关于在Java中比较字符串的内容。总是一个值得学习的好教训。