1) 根据用户输入的年份输出该年日历。
2) 根据用户输入的日期,输出该天星期。
import java.util.Calendar;
import java.util.Scanner;
//1) 根据用户输入的年份输出该年日历。
//2) 根据用户输入的日期,输出该天星期。
public class CalendarPrint {
private static int myYear,myMonth,myDays;
public static void printCalendar()
{
myMonth = 0;//初始化为一月 Calendar类中一月为0;
Calendar c = Calendar.getInstance();
c.set(myYear,myMonth,1);
int year = c.get(Calendar.YEAR);//获取日历年份
while(year == myYear)//当日历年份不为所要获取的年份时退出循环
{
System.out.println(myMonth+1 + "月份");//月份打印
System.out.println("星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
int weekDay = c.get(Calendar.DAY_OF_WEEK);//获取一号是星期几,将其打印出来
for(int i=1;i<weekDay;i++)
{
System.out.print("\t");
}
int month = c.get(Calendar.MONTH);//获取月份
while(month == myMonth)
{
int day = c.get(Calendar.DAY_OF_MONTH);//获取日历
System.out.print(day+"\t");
weekDay = c.get(Calendar.DAY_OF_WEEK);
if(weekDay == 7)//触发换行
{
System.out.print("\n");
}
c.add(Calendar.DAY_OF_MONTH, 1);//重置月份
month = c.get(Calendar.MONTH);
}
year = c.get(Calendar.YEAR);//重置年份
myMonth ++ ;
System.out.print("\n\n");//间隔日历
}
}
public static void printWeekday()
{
Calendar c = Calendar.getInstance();
c.set(myYear,myMonth-1,myDays);
int Weekday = c.get(Calendar.DAY_OF_WEEK) - 1;
if(0 == Weekday)
{
System.out.println("星期日");
return;
}
System.out.println("星期" + Weekday);
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请选择所要实现的功能\n1) 由输入年份输出该年日历\n2) 由输入日期输出该天星期\n请输入 1 或 2");
int flag = sc.nextInt();
if(1 == flag)
{
System.out.println("请输入年份");
myYear = sc.nextInt();
CalendarPrint.printCalendar();
}
else if(2 == flag)
{
System.out.println("请输入年份");
myYear = sc.nextInt();
System.out.println("请输入月份");
myMonth = sc.nextInt();
System.out.println("请输入日份");
myDays = sc.nextInt();
CalendarPrint.printWeekday();
}
sc.close();
return;
}
}