自學了一些,上了6天Java基礎課,試著自己寫了個小功能,可以根據用戶輸入的年份,來查找當前年份每個月的天數,然後顯示當前年份的日曆,初次發表,求大神們多多關照~~
package saturday;
import java.util.Scanner;
//做個日曆
public class Calendar {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入一個年份:");
int year = scanner.nextInt();
getDays(year);
getYear(year);
}
private static void getDays(int year) {
int day1 = 31,day2 = 30,day3 = 29,day4 = 28;
// int year = 2022;
int[] arr = new int[12];
for (int i = 0; i < arr.length; i++) {
switch (i + 1){
case 4:
case 6:
case 9:
case 11:
arr[i] = day2;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
arr[i] = day3;
} else {
arr[i] = day4;
}
break;
default:
arr[i] = day1;
}
}
System.out.println("你輸入的是" + year + "年,每個月的天數為:");
for (int i = 0; i < arr.length; i++) {
System.out.print((i+1) + "月有" + arr[i] + "天 " + "t");
if ((i + 1) % 3 == 0) {
System.out.println();
}
}
}
private static void getYear(int year) {
int[] month = new int[12];
//一個月31天
int[] days = new int[31];
for (int i = 0;i < days.length;i++) {
days[i] = i + 1;
// System.out.print(days[i] + " ");
}
System.out.println();
for (int i = 0; i < month.length; i++) {
month[i] = i + 1;
// System.out.print(month[i]);
}
//根據月份數,查找天數
//month[0] = 1月 ----- 31天
for (int i = 0; i < month.length; i++) {
switch (i + 1){
case 4:
case 6:
case 9:
case 11:
System.out.println();
System.out.println("ttt" + (i+1) + "月:");
for (int j = 0; j < days[days.length - 2]; j++) {
System.out.print((j + 1) + " " + "t");
if ((j + 1) % 7 == 0) {
System.out.println();
}
}
break;
case 2:
System.out.println();
System.out.println("ttt" + (i+1) + "月:");
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
for (int j = 0; j < days[days.length - 3]; j++) {
System.out.print((j + 1) + " " + "t");
if ((j + 1) % 7 == 0) {
System.out.println();
}
}
} else {
for (int j = 0; j < days[days.length - 4]; j++) {
System.out.print((j + 1) + " " + "t");
if ((j + 1) % 7 == 0) {
System.out.println();
}
}
}
break;
default:
System.out.println();
System.out.println("ttt" + (i+1) + "月:");
for (int j = 0; j < days[days.length - 1]; j++) {
System.out.print((j + 1) + " " + "t");
if ((j + 1) % 7 == 0) {
System.out.println();
}
}
}
}
}
}



