输入一个年份与该年份第一天所对应的日子(第一天为星期几),输出这一年的日历
下面展示 代码
。
// A code block
// An highlighted block
package hello;
import java.util.Scanner;
public class Hello {
public static String f(int n){
String output = "";
for(int i=0; i<n; i++)
output += " ";
return output;
}//控制输入一定数量的空格
public static String g(int n){
String output = "";
for(int i=0; i<n; i++)
output += "_";
return output;
}//控制输入一定数量的下划线
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int year;//代表输入的年份
int firstday;//代表输入的第一天的日子,即第一天是星期几
int m=0;
System.out.println("请输入一个年份:");
year=in.nextInt();
System.out.println("请输入第一天的日子:");
firstday=in.nextInt();
if((year%4==0&&year%100!=0)||year%400==0) {
m=1;
}
//判断是否为闰年
System.out.print(f(20));
System.out.println("January "+year);
System.out.println(g(56));
System.out.println("Sun\tMon\tTue\tWed\tThu\tFri\tSat\t");
//为了整洁美观的框架
for(int i=1;i<=31;i++) {
if(i==1){
for(int tab=1;tab<=firstday;tab++) {
System.out.print("\t");
}
}
System.out.printf("%3d\t",i);
if((i+firstday)%7==0) {
System.out.println("");
}
}
firstday+=31;
firstday%=7;
//输入一月份的日历
System.out.print("\n");
System.out.print(f(20));
System.out.println("Tuesday "+year);
System.out.println(g(56));
System.out.println("Sun\tMon\tTue\tWed\tThu\tFri\tSat\t");
//计算出二月的第一天的日子
if(m==0) {
//年份的不同,二月可能会有不同的天数
for(int i=1;i<=28;i++) {
if