我是靠谱客的博主 开放鼠标,这篇文章主要介绍java怎么开发一个简单的日历?,现在分享给大家,希望可以做个参考。

用Java语言仿制作一个简易日历,包括基本的日历感觉,没有使用GUI,所以看起来不是很好看,这里主要演示一下日历的基本原理,就不要好看了,开发工具用eclipse,好了话不多说直接开始了。
在这里插入图片描述

首先,我们先来解决一个问题就是某年某月某日是星期几?这有好多方法,我就举一个方法吧,就是求某年某月某日到1900年1月1日有多少天,之后在对7取余,余几就表示星期几(余数为0表示星期天),那么下面我们就有这个方法求一下今天是星期几?演示代码如下。在这里插入图片描述

2016年12月6日是星期二
注意:闰年是能整除4,不能整除100,或者能整除400,且要知道闰年的二月是29天。如果这个不知道是没法算的,下面演示结果
在这里插入图片描述

今天是星期二
那么解决好某月某天是星期几之后,就可以了进行下一步了,首先看一下我们电脑上的日历是一个什么样的效果,以便我们来模仿做一个简单的。在这里插入图片描述

电脑日历
根据图分析一下,可以看出最上面的一排为(日一二三四五六),一输出的那天是星期六,下面就换行了输出了,日历且是从1号开始输出的,所以我们要用上面的方法算出1号是星期几,然后逐渐输出,一到当天是星期六就换行输出就可以了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

首先解释一下变量都是什么意思year是年份,month是月份,zongtianshu是某年某月1日到1900年1月1日的总天数,xingqi就是当前星期几,sum是计算总天数的方法,daysum是计算当前月有多少天的方法。下面我们运行一下这个程序,看一下这个月的日历。在这里插入图片描述

大家可以看出这个和这个月的日历是一样的,就是做的好难看,但他的原理是都演示出来了。下附全部代码。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.Scanner; public class Calendar3 { public static void main(String args[]){ Scanner s=new Scanner(System.in); System.out.println("请输入年份"); int year=s.nextInt(); System.out.println("请输入月份"); int month=s.nextInt(); int zongtianshu=sum(year,month); int xingqi=zongtianshu%7;//计算某年某月某日是星期几的方法 System.out.println("日t一t二t三t四t五t六"); for(int i=0;i<xingqi;i++){ System.out.print("t"); } int tianshu=Daysum(year,month); for(int i=1;i<=tianshu;i++){ if(zongtianshu%7==6){//表示星期六 System.out.println(i); }else{ System.out.print(i+"t"); } zongtianshu++;//总天数加1,直到加满整个月 } } public static int sum(int year,int month){ int sum = 0;//总天数 for(int i=1990;i<year;i++){ if(i%4==0&&i%100!=0||i%400==0){ sum=sum+36; } else{ sum=sum+365; } } for(int i=1;i<month;i++){ / /判断今年是不是闰年 if(i==2){//2月特殊 if(year%4==0&&year%100!=0||year%400==0){ sum+=29; }else{ sum+=28; } } else if(i==4||i==6||i==9||i==11){ sum+=30; } else{ sum+=31; } } sum+=1; return sum;//输出0就代表周日 } public static int Daysum(int year,int month){//哪年哪月共有多少天 if(month==2){ if(year%4==0&&year%100!=0||year%400==0){ return 29; } else{ //不是闰年2月应该有28天 return 28; } } else if(month==4||month==6||month==9||month==11){ return 30; } else{ return 31; } } }

最后

以上就是开放鼠标最近收集整理的关于java怎么开发一个简单的日历?的全部内容,更多相关java怎么开发一个简单内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部