java日历界面简单_java实现最基础的日历

这篇博客介绍了一个简单的Java日历程序,通过控制台输入年份和月份来显示该月的日期分布。程序未处理输入错误,仅展示了日历的基本计算逻辑。作者鼓励读者理解原理并尝试改进,如增加图形化界面和错误处理。
摘要由CSDN通过智能技术生成

这是之前有个讲师教我的,但他并没有完全讲完,留下一部分让我们自己完成,非常感谢这位姓许的老师给我成长的机会。首先这段日历代码是最基础的,它没有任何图形化用户界面,没有调用其它类(当然了 Scanner类是用户输入是必须要的),用最简单最直接的办法让我们理解日历的原理,当然这段代码是有很多bug的,比如:当用户输入的不是数字,或者输入的数值过分的大或者过分的小等等,我都没有去处理,因为我只是想简单的理解日历,只有你理解了原理,就可以依照你自己的想法为所欲为了。最后,希望看过的各位下伙伴儿能制作出动感而不失风格的用户界面(bug一定要处理好,不然会打脸的!)。努力吧,小伙伴儿们!!!

import java.util.Scanner;

public class Rili {

public void rili(){

int n=0;//保存用户输入的年份

int y=0;//保存用户输入的月份

int z=0;//保存计算的总天数

int x=0;//保存计算得出的星期

int t=0;//保存每月的天数

//创建输入对象

Scanner in=new Scanner(System.in);

System.out.println("请输入要查询的年份:");

//获取用户输入的年份

n=in.nextInt();

System.out.println("请输入要查询的月份:");

//获取用户输入的月份

y=in.nextInt();

//从1900年1月1日开始到用户输入的年份一共有多少天

for(int i=1900;i

//判断是否是闰年,瑞年366天平年365天.

//闰年的条件是能被4整除不能被100整除或者能被400整除

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

z+=366;

}else{

z+=365;

}

}

//判断输入的月份,首先判断是否是2月,闰年2月29天,平年2月28天

//然后判断是否是大月1.3.5.7.8.10.12是31天,其余是30天

for(int i=1;i

if(i==2){

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

z+=29;

}

}else if(i==1i==3i==5i==7i==8i==10i==12){

z+=31;

}else if(i==4i==6i==9i==11){

z+=30;

}

}

//输出星期

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

//得到的总天数除以7余数是几就是星期几

x=z%7;

//循环输出星期几之前的空格

for(int i=0;i

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

}

//判断输入的月份是否是大月,大月就是31天,否则是30天

if(y==1y==3y==5y==7y==8y==10y==12){

t=31;

//如果是小月就是30天

}else if(y==4y==6y==9y==11){

t=30;

//如果是2月,则判断当年是否是闰年

}else if(y==2){

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

t=29;

}else{

t=28;

}

}

//循环输出天数,如果当天为星期六则换行继续输出

//\n为换行符 \t为空七个空格

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

if(z%7==6){

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

}else{

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

}

//每计算一次星期几,总天数都要加一次,因为星期加一总天数也要加一

z++;

}

}

//测试类

public static void main(String[] args) {

new Rili().rili();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值