用Java控制台应用程序做的万年历
2015-09-09 00:51
656 查看
今天接触了Java的Date类,相信像我一样初学Java的人肯定对Java的常用类充满好奇,它们都有哪些方法,那些属性,好奇心驱使查阅了API文档,心血来潮,花了一晚上写了一个万年历,个人觉得虽然程序实现很简单但是还算实用,嘿嘿。先看看效果。。。
测试这个月(2015年09月)的效果
然后再看看2015(平)年2月份的效果
还有2016(闰)年2月份的效果
现在将我做的代码分享给大家(不足之处在所难免,我是初学,大家为我指出不足之处,我好完善,另外也可把代码直接拷走放在Eclipse上运行),已经多次测试准确无误!。
import java.util.Calendar;
import java.util.Scanner;
public class TestDate {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入年份:");
int year=input.nextInt();
System.out.print("请输入月份:");
int month=input.nextInt();
Calendar rightNow = Calendar.getInstance();
rightNow.set(year, month - 1,1);
int week = rightNow.get(Calendar.DAY_OF_WEEK) - 1;//获取当月第一日是星期几,存入week中
//System.out.print(rightNow.getTime());
int[] cal = new int[42];//开一个长度为42数组,存放日历
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
for(int i=1;i<=31;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
if(month==4||month==6||month==9||month==11){
for(int i=1;i<=30;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
//判断平年闰年
if(year%400==0||(year%4==0 && year%100!=0)){//闰年
if(month==2){//闰年2月份
for(int i=1;i<=29;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}else{// 平年
if (month==2){//平年二月份
for(int i=1;i<=28;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}
System.out.println("日
一 二
三 四 五
六 ");
//输出日历
int count = 0;
for(int i=0;i<42;i++){
if(cal[i]!=0){
System.out.print(cal[i]);
}
System.out.print("\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
}
测试这个月(2015年09月)的效果
然后再看看2015(平)年2月份的效果
还有2016(闰)年2月份的效果
现在将我做的代码分享给大家(不足之处在所难免,我是初学,大家为我指出不足之处,我好完善,另外也可把代码直接拷走放在Eclipse上运行),已经多次测试准确无误!。
import java.util.Calendar;
import java.util.Scanner;
public class TestDate {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入年份:");
int year=input.nextInt();
System.out.print("请输入月份:");
int month=input.nextInt();
Calendar rightNow = Calendar.getInstance();
rightNow.set(year, month - 1,1);
int week = rightNow.get(Calendar.DAY_OF_WEEK) - 1;//获取当月第一日是星期几,存入week中
//System.out.print(rightNow.getTime());
int[] cal = new int[42];//开一个长度为42数组,存放日历
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
for(int i=1;i<=31;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
if(month==4||month==6||month==9||month==11){
for(int i=1;i<=30;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
//判断平年闰年
if(year%400==0||(year%4==0 && year%100!=0)){//闰年
if(month==2){//闰年2月份
for(int i=1;i<=29;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}else{// 平年
if (month==2){//平年二月份
for(int i=1;i<=28;i++){
cal[week]=i;//从星期几开始存入1号
week++;
}
}
}
System.out.println("日
一 二
三 四 五
六 ");
//输出日历
int count = 0;
for(int i=0;i<42;i++){
if(cal[i]!=0){
System.out.print(cal[i]);
}
System.out.print("\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- [Android]在代码里运行另一个程序的方法
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序