标签:日历 Java int 打印 System month year day out
打印日历
import java.util.Calendar;
import java.util.Scanner;
/**
* 本类用于演示:打印日历
*/
public class HomeWork {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请你输入一个年份:>");
int year = scanner.nextInt();
System.out.print("请你输入一个月份:>");
int month = scanner.nextInt();
System.out.println("\t\t\t\t"+year+"年,"+month+"月");
System.out.println("日\t一\t二\t三\t四\t五\t六");
if (month<=0 || month>12){
System.out.println("你输入的月份不合法!");
return;
}
if (year<0){
System.out.println("sorry,year 不合法!");
return;
}
int maxDay = getMaxDay(year, month);
Calendar calendar = Calendar.getInstance();
calendar.set(year,month-1,1);
//设置当前你输入的信息 判断这个月的一号是星期几
int day = calendar.get(Calendar.DAY_OF_WEEK)-1;
int num = calendar.get(Calendar.DAY_OF_MONTH); //今天是几号
int count = 0; //计数器 每七个就换一次行
for (int i = 0; i < day; i++) {//为了使一号对应星期几
System.out.print("\t"); //把一号推到对应的周期
count++;
}
for (int i = 1; i <= maxDay; i++) {
System.out.print(i==num?i+"*\t":i+"\t");
count++;
if (count%7==0){
System.out.println();
count=0;
}
}
}
public static int getMaxDay(int year,int month){ //每个月的天数
int day = 0;
if ( month==4 || month==6 || month==9 || month==11 ){
day = 30;
}else if (month == 2){
day = isLeapYear(year)?28:29;
}else {
day = 31;
}
return day;
}
public static boolean isLeapYear(int year){ //判断是否为闰年
return year%4==0 && year%100!=0 || year%400 ==0;
}
}
标签:日历,Java,int,打印,System,month,year,day,out 来源: https://blog.csdn.net/weixin_46666287/article/details/121225684
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。