显示每月第一天是星期几
输入年份
import java.util.*;
import javax.swing.*;
class Main {
public static void main (String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter year: (e.g., 2008): ");
int yearNotChange = input.nextInt();
String yearString = yearNotChange + "";
int month = 0;
int oneDayOfMonth = 1;
for(int i = 1; i <= 12; i++){
int year = yearNotChange;
month = i;
if(month == 1 || month == 2){
month += 12;
year -= 1;
}
int dayOfWeek = (oneDayOfMonth + (int)((26 * (month + 1)) / 10)
+ (year % 100) + (int)((year % 100) / 4)
+ (int)((int)(year / 100) / 4)
+ 5 * (int)(year / 100)) % 7;
String dayOfWeekString = "";
switch(dayOfWeek){
case 0:
dayOfWeekString = "Saturday";
break;
case 1:
dayOfWeekString = "Sunday";
break;
case 2:
dayOfWeekString = "Monday";
break;
case 3:
dayOfWeekString = "Tuesday";
break;
case 4:
dayOfWeekString = "Wednesday";
break;
case 5:
dayOfWeekString = "Thursday";
break;
case 6:
dayOfWeekString = "Friday";
break;
}
String monthString = "";
switch(i){
case 1:
monthString = "January";
break;
case 2:
monthString = "February";
break;
case 3:
monthString = "March";
break;
case 4:
monthString = "April";
break;
case 5:
monthString = "May";
break;
case 6:
monthString = "June";
break;
case 7:
monthString = "July";
break;
case 8:
monthString = "Augest";
break;
case 9:
monthString = "September";
break;
case 10:
monthString = "October";
break;
case 11:
monthString = "November";
break;
case 12:
monthString = "December";
break;
}
System.out.println(monthString + " 1, " + yearString +" is " + dayOfWeekString);
}
}
}
显示日历
制表格\t真是个神奇的东西,觉得自己做不出来,结果竟然做出来了,但是感觉程序还是乱七八糟的。希望下次看程序的时候不要一头雾水。
import java.util.*;
import javax.swing.*;
class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter year: (e.g., 2008): ");
int yearNotChange = input.nextInt();
for(int i = 1; i <= 12;i++){
int year = yearNotChange;
int month = i;
int oneDayOfMonth = 1;
if(month == 1 || month == 2){
month += 12;
year -= 1;
}
int dayOfWeek = (oneDayOfMonth + (int)((26 * (month + 1)) / 10)
+ (year % 100) + (int)((year % 100) / 4)
+ (int)((int)(year / 100) / 4)
+ 5 * (int)(year / 100)) % 7;
String title = "";
switch(i){
case 1:
title = "\t\tJanuary " + yearNotChange;
break;
case 2:
title = "\t\tFebruary " + yearNotChange;
break;
case 3:
title = "\t\tMarch " + yearNotChange;
break;
case 4:
title = "\t\tApril " + yearNotChange;
break;
case 5:
title = "\t\tMay " + yearNotChange;
break;
case 6:
title = "\t\tJune " + yearNotChange;
break;
case 7:
title = "\t\tJuly " + yearNotChange;
break;
case 8:
title = "\t\tAugest " + yearNotChange;
break;
case 9:
title = "\t\tSeptember " + yearNotChange;
break;
case 10:
title = "\t\tOctober " + yearNotChange;
break;
case 11:
title = "\t\tNovember " + yearNotChange;
break;
case 12:
title = "\t\tDecember " + yearNotChange;
break;
}
System.out.print("\n" + title);
System.out.print("\n----------------------------");
System.out.print("\nSun\tMon\tTue\tWed\tThu\tFri\tSat\n");
int daysOfMonth = 0;
switch(i){
case 1:
daysOfMonth = 31;
break;
case 2:
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
daysOfMonth = isLeapYear ? 29 : 28;
break;
case 3:
daysOfMonth = 31;
break;
case 4:
daysOfMonth = 30;
break;
case 5:
daysOfMonth = 31;
break;
case 6:
daysOfMonth = 30;
break;
case 7:
daysOfMonth = 31;
break;
case 8:
daysOfMonth = 31;
break;
case 9:
daysOfMonth = 30;
break;
case 10:
daysOfMonth = 31;
break;
case 11:
daysOfMonth = 30;
break;
case 12:
daysOfMonth = 31;
break;
}
int count = (dayOfWeek + 6) % 7;
for(int j = 1; j <= count; j++)
System.out.print("\t");
for(int k = 1; k <= daysOfMonth; k++){
count++;
System.out.print((count % 7 == 0) ? k + "\n" : k + "\t");
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了