没分的话……就只给你个代码吧……这个是用比较简单的语句写的:
import javautilScanner;
public class PrintCalendar {
/
打印日历
@param args
/
public static void main(String[] args) {
Scanner input = new Scanner(Systemin);
Systemoutprintln("请输入年:");
int year = inputnextInt();
Systemoutprintln("请输入月:");
int month = inputnextInt();
//定义变量,存储该月多少天
int daysOfMonth = 0;
//计算该月多少天
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
daysOfMonth = 31;
break;
case 2:
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
daysOfMonth = 29;
}else
{
daysOfMonth = 28;
}
break;
default:
daysOfMonth = 30;
}
//Systemoutprintln("该月"+daysOfMonth+"天");
//计算从10990101到输入的年一共过去了多少天
//定义变量,存储总天数
int totalDays = 0;
for(int i=1900; i<year; i++)
{
if(i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
{
totalDays += 366;
}else
{
totalDays += 365;
}
}
//输入的年中,从1月到输入的月,过去了多少天
for(int i=1; i<month; i++)
{
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDays += 31;
break;
case 2:
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
totalDays += 29;
}else
{
totalDays += 28;
}
break;
default:
totalDays += 30;
}
}
//输入月的1号是周几
int weekDay = totalDays % 7 + 1;
//计算需要打印的空格数
int spaces = weekDay % 7;
//打印日历,先打印日历的头
Systemoutprintln("日\t一\t二\t三\t四\t五\t六");
//定义变量,存储打印了几次
int count = 0;
//打印空格
for(int i=1; i<=spaces; i++)
{
Systemoutprint(" \t");
count++;
}
//打印日历中的每一天
for(int i=1; i<=daysOfMonth; i++)
{
Systemoutprint(i+"\t");
count++;
if(count % 7 == 0)
{
Systemoutprintln();
}
}
}
}
以上就是关于JAVA程序设计万年历怎么写全部的内容,包括:JAVA程序设计万年历怎么写、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)