月份为2且为闰年时,输出的天数还是28,这是为什么?

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int y = in.nextInt();
int m = in.nextInt();
int[] d = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
if((y%4==0&y%100!=0)||y%400==0) {
d[1]+=1;
System.out.println(d[y-1]);
}
else {
System.out.println(d[y-1]);
}
}
}
月份为2且为闰年时,输出的天数还是28,这是为什么?

改好了,顺便帮你简化了一下代码,希望采纳

img

public class Demo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入年份:");
        int y = in.nextInt();
        System.out.println("请输入月份:");
        int m = in.nextInt();
        int[] d = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

        if ((y % 4 == 0 & y % 100 != 0) || y % 400 == 0) {
            d[1] += 1;
        }
        System.out.println(d[m - 1]);
    }
}

img

img

你输出 d[y-1] 不太对吧,应该是d[m-1]