逻辑总是失败

时间:2015-06-14 00:33:57

标签: 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";
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");
}

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

问题出现在你的字符串比较中

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

mont==mon检查montmon是否真的是同一个对象。使用mont.equals(mon)