>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 31945 个阅读者 刷新本主题
 * 贴子主题:  制作Java万年历的一个小程序,保证可以运行 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-06-13 12:40:52     消息  查看  搜索  好友  邮件  复制  引用

以下这个程序,只要输入任意的年月,就能打印出这个月的日历。
运行结果如下图所示。
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

以下是源代码。

/*************** TimeCanner.java ****************/
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class TimeCanner {

  public static void main(String[] args) throws ParseException {

      Scanner s=new Scanner(System.in);

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

      int year=s.nextInt();

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

      int month=s.nextInt();

      String ss=year+"/"+month+"/01";

      SimpleDateFormat f=new SimpleDateFormat("yyyy/MM/dd");

      Date endtime=f.parse(ss);

      Date startTime=f.parse("1900/01/01");

      long d=(endtime.getTime()-startTime.getTime())/(24*60*60*1000);

      System.out.println(d);

      int temp=(int) (d%7)+1;

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

      int da=0;

      switch(month){

           case 1:case 3:case 5:case 7:case 8:case 10:case 12:

          da=31;break;

         case 4: case 6: case 9: case 11:

         da=30;break;

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

                      da=29;

                   }else{

                     da=28;

                 }break;

     }

      for(int i=0;i<temp;i++){

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

      }

      int num=0;

      int k=0;

      for(int mo=1;mo<=da;mo++){

          System.out.printf("%d\t",mo);

         if((d+mo)%7==6){

            System.out.println();

         }
     }
  }
}




程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->泛型
  JavaWeb开发-->多线程(下)
  JSP与Hibernate开发-->JSP技术详解(Ⅱ)
  Java网络编程-->JavaWeb应用入门(Ⅰ)
  精通Spring-->
  Vue3开发-->映射组成关系
  求素数
  java的三种随机数生成方式
  Java集合框架学习---深入探究ArrayList源码
  Java设计模式:接口隔离原则和迪米特法则详解
  Java泛型中的通配符 T,E,K,V,? 你了解吗
  Redis安装、Redis基本数据类型、Jedis、Redis集群搭建
  深入分析synchronized实现原理
  正则表达式范例
  正则表达式基础入门
  Java入门实用代码:查看线程是否存活
  Java入门实用代码:修改链表LinkedList
  Java 入门实用代码:设置文件只读
  Java入门实用代码:字符串替换
  JAVA设计模式之备忘录模式原理与用法详解
  初学者该学哪种编程语言
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。