当前月份简单日历功能的实现
使用JAVA语言编写模块化程序,实现一个简单的日历`:根据输入的当前日期自动生成本月的日历并特殊标注当前日期;
//定义Date类
public class Date {
int Year;
int mouth;
int day;
int firstday;
int maxday;
Date(int Year,int mouth,int day,int firstday,int maxday)
{
this.Year=Year;
this.mouth=mouth;
this.day=day;
this.firstday=firstday;
this.maxday=maxday;
}
int GetYear() {
return Year;
}
void SetYear(int Year) {
this.Year=Year;
}
int Getmouth() {
return mouth;
}
void Setmouth(int mouth) {
this.mouth=mouth;
}
int Getday() {
return day;
}
void Setday(int day) {
this.day=day;
}
//本月第一天是第一周的第几天
void Setfirstday(int firstday) {
this.firstday=firstday;
}
//本月的最大天数
void Setmaxday(int maxday) {
this.maxday=maxday;
}
//日历的显示
void printInfoo() {
System.out.println("日\t一\t二\t三\t四\t五\t六\n");
for (int j = 1; j < firstday; j++) {
System.out.print("\t");
}
for (int i = 1; i <= maxday; i++) {
if (i == day) {
System.out.print("*");
}
System.out.print(i + "\t");
if ((i - (8 - firstday)) % 7 == 0) {
System.out.println("\n");
}
}
}
void printInfo()
{
System.out.println("---------------------");
System.out.println("当前日期:"+Year+"年"+mouth+"月"+day+"日");
printInfoo();
}
}
//定义class Now_date;
import java.util.Scanner;
public class Now_date {
public static void main(String args[]) {
Date Date1=new Date(2018,5,1,1,31); //初始化当前日期
//建立一个从键盘接受数据的扫描器(选择是否更改初始值)
Scanner scanner = new Scanner(System.in);
System.out.print("请输入Year:");
int Year = scanner.nextInt();
Date1.SetYear(Year);
System.out.print("请输入mouth:");
int mouth = scanner.nextInt();
Date1.Setmouth(mouth);
System.out.print("请输入day:");
int day= scanner.nextInt();
Date1.Setday(day);
System.out.print("请输入firstday:");
int firstday= scanner.nextInt();
Date1.Setfirstday(firstday);
System.out.print("请输入maxday:");
int maxday= scanner.nextInt();
Date1.Setmaxday(maxday);
Date1.printInfo();
}
}
程序的运行结果实例;