在线问题
思路分析
- 首先得输入年-月-日
- 统计整年。比如你输入的为2020年,那么可以计算1990年1月1日(包含)——(你输入的年份-1)年1月1日(不包含)
- 统计整月。如:1月1日(包含)——3月1日(不包含)
- 确定当月天数
- 计算出总天数 % 5:判断余数为多少,当余数为1,2,3时,则表示“打鱼”;当余数为4,0时,则表示“晒网”。
代码
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
System.out.println("请输入几号:");
int day = scanner.nextInt();
int yearDays = 0;
for (int i = 1990; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
yearDays += 366;
} else {
yearDays += 365;
}
}
int monthDays = 0;
for (int i = 1; i < month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
monthDays += 31;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
monthDays += 29;
} else {
monthDays += 28;
}
break;
default:
monthDays += 30;
}
}
int sum = yearDays + monthDays + day;
System.out.println("总共" + sum + "天!");
switch (sum % 5) {
case 1:
case 2:
case 3:
System.out.println("今天是" + year + "-" + month + "-" + day + " 应该打鱼");
break;
default:
System.out.println("今天是" + year + "-" + month + "-" + day + " 应该晒网");
}
}