码迷,mamicode.com
首页 > 编程语言 > 详细

java实验之打印万年历

时间:2017-09-25 21:55:51      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:r++   art   public   system.in   else   break   java   输出   imp   

打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一),要求:

(1)编写一个方法判断闰年;

(2)编写一个方法判断某年某月有多少天;

(3)编写一个方法计算某年某月前距离1900年1月1日的总天数;(4)编写一个输出某年某月日历的方法;

(5)编写一个测试方法。

 

package calendar;
import java.util.Scanner;
public class calendar {
public static void main(String args[]){
int year,month,sum,sum1;
System.out.print("请输入年份:\t");
for(;;){
year=getInput();
if(year>=1900)
break;
else
System.out.println("输入错误,请重新输入!");

}
System.out.print("请输入月份:\t");
for(;;){
month=getInput();
if(month>=1&&month<=12)
break;
else
System.out.println("输入错误,请重新输入!");
}
display(year,month);
}
public static int getInput(){ //输入数据
Scanner scan=new Scanner(System.in);
int i=0;
i=scan.nextInt();
return i;
}
public static int judge(int i){ //判断是否闰年
if(i%400==0||(i%100!=0&&i%4==0))
return 0;
else
return 1;
}
public static int monthTotal(int i,int j){ //判断i年j月有多少天
int leapyear[]={31,29,31,30,31,30,31,31,30,31,30,31};
int noleapyear[]={31,28,31,30,31,30,31,31,30,31,30,31};
int n,m;
n=judge(i);
if(n==0)
m=leapyear[j-1];
else
m=noleapyear[j-1];
return m;
}
public static int yearTotal(int i,int j){ //判断i年j月前距1900年1月1日有多少天
int n,m=0;
for(int yearNumber=1900;yearNumber<i;yearNumber++){
if(i==1900)
break;
n=judge(yearNumber);
if(n==0)
m+=366;
else
m+=365;
}
for(int monthYear=1;monthYear<j;monthYear++){
if(j==1)
break;
m+=monthTotal(i,monthYear);
}
return m;
}
public static void display(int i,int j){ //输出i年j月的日历
int sum,sum0,ss=0;
sum0=yearTotal(i,j);
sum=1+sum0%7;
System.out.println("-----"+i+"年"+j+"月-----");
System.out.println(" 日 一 二 三 四 五 六 ");
for(int z=1;z<=sum+monthTotal(i,j);z++){
if(z<=sum){
System.out.print(" ");
ss+=1;
}
else{
System.out.print(z-sum+" ");
ss+=1;
if(z-sum<10)
System.out.print(" ");
}
if(ss%7==0)
System.out.println();

}
}

}

java实验之打印万年历

标签:r++   art   public   system.in   else   break   java   输出   imp   

原文地址:http://www.cnblogs.com/LS0128/p/7593840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!