标签:某月 logs ann nbsp null 打印 范围 public style
打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一),要求:
(1)编写一个方法判断闰年;
(2)编写一个方法判断某年某月有多少天;
(3)编写一个方法计算某年某月前距离1900年1月1日的总天数;(4)编写一个输出某年某月日历的方法;
(5)编写一个测试方法。
1 import java.util.*; 2 public class 万年历 { 3 public static void main(String[] args){ 4 System.out.println("请输入年份"); 5 Scanner input=new Scanner(System.in); 6 int y=input.nextInt(); 7 System.out.println("请输入月份"); 8 int m=input.nextInt(); 9 if(runnian(y)==1){ 10 System.out.println(y+"是闰年"); 11 } 12 else{ 13 System.out.println(y+"不是是闰年"); 14 } 15 System.out.println(y+"年"+m+"月有"+panduanday(y,m)+"天"); 16 System.out.println("距离1900年1月1日有"+juli(y,m)+"天"); 17 System.out.println(y+"年"+m+"月的日历"); 18 rili(y,m); 19 } 20 public static int runnian(int y){ 21 if((y%4==0&&y%100!=0)||y%400==0) 22 { 23 return 1; 24 25 } 26 else 27 { 28 return 0; 29 30 } 31 } 32 public static int panduanmonth(int y,int m){ 33 if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) 34 { 35 return 0; 36 } 37 if(m==4||m==6||m==9||m==11) 38 { 39 return 1; 40 } 41 else 42 { 43 if(runnian(y)==1){ 44 return 2; 45 } 46 else{ 47 return 3; 48 } 49 } 50 } 51 public static int panduanday(int y,int m){ 52 int day=0; 53 if(panduanmonth(y,m)==0) 54 { 55 day=31; 56 } 57 if(panduanmonth(y,m)==1) 58 { 59 day=30; 60 } 61 if(panduanmonth(y,m)==2) 62 { 63 day=29; 64 } 65 if(panduanmonth(y,m)==3) 66 { 67 day=28; 68 } 69 return day; 70 } 71 public static int juli(int y,int m){ 72 int a=0; 73 for(m=m-1;m>=1;m--){ 74 a=a+panduanday(y,m); 75 } 76 for(y=y-1;y>=1900;y--){ 77 if(runnian(y)==1) 78 { 79 a=a+366; 80 } 81 else{ 82 a=a+365; 83 } 84 } 85 return a; 86 87 88 } 89 public static void rili(int y,int m ){ 90 int a,c,i,j; 91 int b=1; 92 String weeks[]= { "日", "一", " 二", "三", " 四", " 五", " 六" }; 93 for(i=0;i<7;i++){ 94 System.out.print(weeks[i]+"\t"); 95 if(i==6){ 96 System.out.println(" "); 97 } 98 } 99 int day1[][]=null; 100 day1=new int[6][7]; 101 102 if(y<1900){ 103 System.out.println("不在查询范围之内"); 104 return; 105 } 106 a=juli(y,m)%7+1; 107 c=panduanday(y,m); 108 for(i=0;i<6;i++){ 109 for(j=0;j<7;j++){ 110 if(i==0&&j<a) 111 { 112 day1[i][j]=0; 113 } 114 if(i==0&&j>=a) 115 { 116 day1[i][j]=b; 117 b++; 118 } 119 if(i!=0) 120 { 121 day1[i][j]=b; 122 b++; 123 } 124 } 125 } 126 for(i=0;i<6;i++){ 127 for(j=0;j<7;j++){ 128 if(day1[i][j]>c||day1[i][j]==0) 129 { 130 System.out.print(" "+"\t"); 131 } 132 else{ 133 System.out.print(day1[i][j]+"\t"); 134 } 135 } 136 System.out.println(" "); 137 } 138 139 140 } 141 }
标签:某月 logs ann nbsp null 打印 范围 public style
原文地址:http://www.cnblogs.com/miaoxudong/p/7587339.html