【发布时间】:2015-03-07 18:23:11
【问题描述】:
我正在尝试实现一个不可避免地显示明天的日期、月份和年份的日期系统。
我遇到的问题是 if 语句之一总是返回 true,而后面的语句总是返回 false。
这是我的代码的一部分:
public class dateVerification {
int tomorrowDay = 0;
int tomorrowMonth = 0;
int tomorrowYear = 0;
int day = 0;
int month = 0;
int year = 0;
public void date() {
Scanner myScanner = new Scanner(System.in);
System.out.println("Enter the day");
day = myScanner.nextInt();
System.out.println("Enter the month");
month = myScanner.nextInt();
System.out.println("Enter the year");
year = myScanner.nextInt();
switch (month) {
case 1:
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10) {
if (day < 31) {
tomorrowDay = day + 1;
} else {
tomorrowDay = 1;
tomorrowMonth = month + 1;
}
}
break;
返回 true 的行是:
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10)
其他一切都返回错误,即我的案例 2 陈述
if (month == 4 || month == 6 || month == 9 || month == 11)
有人能解释一下吗?
【问题讨论】:
-
你
case 1在month上,所以month == 1总是正确的也就不足为奇了,对吧? -
你在
month变量中传递了什么输入?? -
这个语句在代码中的什么位置?
if (month == 4 || month == 6 || month == 9 || month == 11)
标签: java date if-statement conditional-statements