风景日历java制作_java简单日历的制作代码

这是一个使用Java编写的程序,能够查询并打印1900年至2015年之间的日历。程序通过用户输入年份和月份,检查输入的有效性,并根据日期计算星期几。程序特别处理了闰年的2月天数,并以表格形式展示每月的日历布局。用户可以选择是否继续查询其他月份。
摘要由CSDN通过智能技术生成

该日历查询的范围为1900-2015年

import java.util.Scanner;

public class Calendar4 {

public static void main(String[] args){

Scanner input=new Scanner(System.in);

for(;;){

System.out.println("请输入年份");

int year=input.nextInt();

for(;year<1900||year>2050;){

System.out.println("该日历的查询范围在1900年-2050年,请重新输入");

year=input.nextInt();

}

System.out.println("请输入月份");

int month=input.nextInt();

for(;month>13||month<1;){

System.out.println("输入的月份不正确,请重新输入");

month=input.nextInt();

}

int sum=0;

for(int i=1900;i

if(i%4==0&&i%100!=0||i%400==0){

sum+=366;

}else{

sum+=365;

}

for(int j=1;j

if(j==2){

if(year%4==0&&year%100!=0||year%400==0){

sum+=29;

}else{

sum+=28;

}

}else{

if(j==4||j==6||j==9||j==11){

sum+=30;

}else{

sum+=31;

}

}

}

}

sum+=1;

int weekday=sum%7;

System.out.println("日\t一\t二\t三\t四\t五\t六");

for(int i=1;i<=weekday;i++){

System.out.print("\t");

}

if(month==4||month==6||month==9||month==11){

for(int j=1;j<=30;j++){

if(sum%7==6){

System.out.print(j+"\n");

}else{

System.out.print(j+"\t");

}

sum+=1;

}

}else if(month==1||month==3||month==5||month==7||

month==8||month==10||month==12){

for(int j=1;j<=31;j++){

if(sum%7==6){

System.out.print(j+"\n");

}else{

System.out.print(j+"\t");

}

sum+=1;

}

}else if(month==2){

if(year%4==0&&year%100!=0||year%400==0){

for(int j=1;j<=29;j++){

if(sum%7==6){

System.out.print(j+"\n");

}else{

System.out.print(j+"\t");

}

sum+=1;

}

}else{

for(int j=1;j<=28;j++){

if(sum%7==6){

System.out.print(j+"\n");

}else{

System.out.print(j+"\t");

}

sum+=1;

}

}

}

System.out.println("\n还继续吗?(yes/no)");

String question=input.next();

if(question.equals("yes")){

continue;

}else if(question.equals("no")){

break;

}else{

for(;;){

System.out.println("你的回答不正确,请重新输入");

question=input.next();

if(question.equals("yes")){

break;

}else if(question.equals("no")){

break;

}

}

}

if(question.equals("no"))break;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值