简单的日历小程序
一個可以查詢1900年之后的所有年份當月月歷。
import?java.util.Scanner;
public?class?Calendar?{//輸入年月輸出當月日歷public?static?void?main(String[]?args)?{Scanner?input?=?new?Scanner(System.in);System.out.println("請輸入年份");int?year?=?input.nextInt();System.out.println("請輸入月份:");int?month?=?input.nextInt();int?count=0;//這些年之間閏年的個數for?(int?i?=1900;?i?<year;?i++)?{//閏年個數必須用循環做,因為規則不單單4年一閏,所以不能用除法if(((i%4==0)&&(i%100!=0)||i%400==0)){count++;}}int?days=(year-1900)*365+count;switch?(month)?{case?12:days+=30;case?11:days+=31;case?10:days+=30;case?9:days+=31;case?8:days+=31;case?7:days+=30;case?6:days+=31;case?5:days+=30;case?4:days+=31;case?3:days+=28;case?2:days+=31;case?1:days+=0;default:break;}if((((year%4==0)&&(year%100!=0)||year%400==0))&month>2){//如果查詢的是閏年且大于2月,則要補上一天days++;}int?dayinweek=days%7;//計算每月1號是星期幾System.out.println(year+"年"+month+"月:");System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日");int?day=0;?????????????????? ?//存儲要打印的天數if(month==2){if((year?%?400?==?0)||?(year?%?4?==?0?&year%100!=0)){//如果查詢的是閏年的2月,則要打印29天day=29;}else?{day=28;}}else?if(month==4||month==6||month==9||month==11){day=30;}else{day=31;}//以下是根據dayinweek(即當月1號在星期里的位置參數即月頭起始空格數)和該月天數來做個打印輸出int?print_count=1;//給月頭的空格與當月天數的和做個計數,實現7個數據就換行輸出for(int?i=1;i<=day+dayinweek;i++){while(dayinweek>0){System.out.print("???\t");dayinweek--;print_count++;}System.out.print(i+"\t");if(print_count%7==0) {System.out.println();//輸出時每隔七天換行}print_count++;}}
}
轉載于:https://blog.51cto.com/cktmyh/1627081
總結
- 上一篇: 电路常识性概念(1)-输入、输出阻抗
- 下一篇: 电路常识性概念(2)-电容