Java 逻辑总是失败的
这是我输入6月27日日期(逻辑正确)的一部分,但它仍然打印日期不正确(逻辑失败) 我不明白为什么它仍然失败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
**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中比较字符串的内容。总是一个值得学习的好教训。