编写程序定义日期类date 包含:3个成员变量:day month year 三个成员方法tomo
编写程序定义日期类date包含:3个成员变量:daymonthyear三个成员方法tomorrow()printDate()daysInMonth()分别用于推算后继日输...
编写程序定义日期类date 包含:3个成员变量:day month year 三个成员方法tomorrow() printDate() daysInMonth() 分别用于推算后继日 输出日期和计算某月的天数
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
import java.io.*;
import java.util.*;
class Calendar{
static int weekDay;
static int year;
public static void main(String args[]) throws IOException{
System.out.println("请输入日期:");
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader (System.in);
in=new BufferedReader(ir) ;
String s=in.readLine();
year=Integer.parseInt(s);
if(year<1){
System.out.println("输入年份不能小于1");
return;
}
weekDay=(int)firstDayOfYear(year);
System.out.println(""+year+"年");
System.out.println("=================================");
for(int i=1;i<=12;i++){
System.out.println();
printMonth(i);
System.out.println();
}
}
public static void printMonth(int m){
printHead(m);
int days=daysOfMonth(m);
for(int i=1;i<=days;i++){
if(i<10){
System.out.println(""+i);
}
else {
System.out.println(" "+i);
}
weekDay=(weekDay+1)%7;
if(weekDay==0){
System.out.println();
System.out.println(" ");
}
}
}
public static void printHead(int m){
System.out.println(""+m+"月 日 一 二 三 四 五 六 七");
System.out.println(" ");
for(int i=0;i<weekDay;i++){
System.out.println(" ");
}
}
public static long firstDayOfYear(int y){
long n;
n=y*365;
for(int i=1;i<y;i++)
if (isLeapYear(i))
n++;
return n%=7;
}
private static boolean isLeapYear(int i) {
return false;
}
public static int daysOfMonth(int m){
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 30;
case 2:if(isLeapYear(year)) return 29;
else return 28;
}
return 0;
}
}
这个是我的答案
import java.util.*;
class Calendar{
static int weekDay;
static int year;
public static void main(String args[]) throws IOException{
System.out.println("请输入日期:");
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader (System.in);
in=new BufferedReader(ir) ;
String s=in.readLine();
year=Integer.parseInt(s);
if(year<1){
System.out.println("输入年份不能小于1");
return;
}
weekDay=(int)firstDayOfYear(year);
System.out.println(""+year+"年");
System.out.println("=================================");
for(int i=1;i<=12;i++){
System.out.println();
printMonth(i);
System.out.println();
}
}
public static void printMonth(int m){
printHead(m);
int days=daysOfMonth(m);
for(int i=1;i<=days;i++){
if(i<10){
System.out.println(""+i);
}
else {
System.out.println(" "+i);
}
weekDay=(weekDay+1)%7;
if(weekDay==0){
System.out.println();
System.out.println(" ");
}
}
}
public static void printHead(int m){
System.out.println(""+m+"月 日 一 二 三 四 五 六 七");
System.out.println(" ");
for(int i=0;i<weekDay;i++){
System.out.println(" ");
}
}
public static long firstDayOfYear(int y){
long n;
n=y*365;
for(int i=1;i<y;i++)
if (isLeapYear(i))
n++;
return n%=7;
}
private static boolean isLeapYear(int i) {
return false;
}
public static int daysOfMonth(int m){
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 30;
case 2:if(isLeapYear(year)) return 29;
else return 28;
}
return 0;
}
}
这个是我的答案
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询