用Java编写一个简单日历(不含图形界面)
来源:互联网 发布:西交大网络导航 编辑:程序博客网 时间:2024/05/29 21:29
//获得年份月份后,先以月为单位,计算此年该月之前的总天数,
//然后以年为单位,计算从元年一月一日到此年的总天数;
//相加即为从元年一月一日到该月份的总天数,
//再将其除以7即可得出该月首日为星期几(元年一月一日为星期一,故可以直接除以7,但要注意输出时日期格式);
//再逐个推移即可得出该月日历。
import java.util.Scanner;
public class Calculate{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("please write year:");
int year = scan.nextInt();
System.out.println("please write mouth:");
int mouth = scan.nextInt();
System.out.println("The calulate is:");
System.out.println("日\t一\t二\t三\t四\t五\t六");
scan.close();
//初始化几个变量;
int num = 0;
int sumDay=0;
int temp=year-1;//除去本年
int iniMouth = mouth;//将mouth初始值付给i,以备后续使用
mouth--;//除去本月
//判断每个月的天数并计算
while(mouth>0){
if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){
num = 31;
}
if(mouth==4||mouth==6||mouth==9||mouth==11){
num = 30;
} if(mouth==2){
//判断是否为闰年
if(((year%4 == 0 && year%100 != 0) || year%400 == 0)){
num=29;
}else{
num=28;
}
}
sumDay = sumDay+num;
mouth--;
}
int sum = temp*365+temp/4+temp/400-temp/100+sumDay;
int dayOfWeek = sum%7;
//使日期格式规整
while(dayOfWeek>0){
dayOfWeek--;
System.out.print("\t ");
}
mouth = iniMouth;//将初始mouth值再赋给它
int day = 0;
if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){
day = 31;
}
if(mouth==4||mouth==6||mouth==9||mouth==11){
day = 30;
} if(mouth==2){
if(((year%4 == 0) && ( year%100 != 0)) || (year%400 == 0)){
day=29;
}else{
day=28;
}
}
//因元年一月一日为星期一,故应将整体日期后移一格,使日期与星期几对齐
System.out.print(" \t");
//输出该月日期
for(int j=1;j<=day;j++){
System.out.print(j+"\t");
if((sum+j+1)%7==0){
System.out.println();
}
}
}
}
0 0
- 用Java编写一个简单日历(不含图形界面)
- 用java编写一个的一个通讯录,有图形界面
- Java实现简单的日历小程序之Java图形界面开发小日历
- Java实现简单的日历小程序之Java图形界面开发小日历
- 用JAVA写的一个简单的图形界面计算器
- JAVA 一个简单的图形界面计算器
- 用JS编写日历的简单思路
- 用JS编写日历的简单思路
- java实现的一个简单日历
- 用java编写一个简单的计算器
- 用JAVA编写一个简单密码框
- 用Java编写一个简单的编译器
- 用JAVA编写一个简单的编辑器
- 用java编写一个简单计算器
- 用java编写一个简单计算器
- JAVA编写的日历
- Java 实训4 编写一个窗体程序显示日历
- Java实训——编写一个窗体程序显示日历。
- 字符串翻转reverse
- linux脚本的编写和执行,很简单的一个用法!
- T-SQL中内部函数-聚合函数
- 《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项
- 收藏文章链接
- 用Java编写一个简单日历(不含图形界面)
- 随想录(句柄泄漏)
- 《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
- 在阿里云Ubuntu上安装mysql
- 矩形的个数
- mysql 主键自增
- 见识了才会慢慢的思考更多
- 机器学习笔记七:损失函数与风险函数
- win7与Ubuntu共享文件夹的详细方法