java代码,我写了注释,你们帮我看看错在哪里,不是语法,是逻辑上的错误.

来源:百度知道 编辑:UC知道 时间:2024/04/27 17:39:34
import java.util.Scanner;

public class WanNianLi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();// 输入年份
boolean zhi;

if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
zhi = true;
} else {
zhi = false;
}// 判断是否闰年,true闰年,false平年

System.out.print("请输入月份:");
int moon = input.nextInt();// 输入月份

int yearday = 0;
for (int i = 1900; i < year; i++) {
if (zhi) {
yearday = yearday + 366;
} else {
yearday = yearday + 365;
}
}// 输入的年份1月1日与1900年1月1日相差的天数

int moonday = 0;
for (int i = 1; i < moon; i++) {
switch (moon) {
case 2:
if (zhi) {
moonday = moonday + 29;
} else {
moonday = moonday + 28;
}
case 4:

import java.util.Scanner;

public class WanNianLi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();// 输入年份
boolean zhi;

if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
zhi = true;
} else {
zhi = false;
}// 判断是否闰年,true闰年,false平年

System.out.print("请输入月份:");
int moon = input.nextInt();// 输入月份

int yearday = 0;
for (int i = 1900; i < year; i++) {
if (zhi) { ******//这里的ZHI只是你所输入的年份的闰年或平年吧(可以写为 if(i% 400 == 0 || (ir % 4 == 0 && i % 100 != 0))******
yearday = yearday + 366;
} else {
yearday = yearday + 365;
}
}// 输入的年份1月1日与1900年1月1日相差的天数

int moonday = 0;
for (int i = 1; i < moon; i++) {
switch (moon) {
case 2:
if (zhi) {
moonday = moonday + 29;
} else {
moonday