2020-01-25

制作一个万年历(基于控制台输入)的一种写法



demo

package com.js.task.demo;

import java.util.Calendar;

import java.util.Scanner;

/*

* 使用Calendar完成一个万年历

要求:键盘输入一个年份和月份,控制台输出当月的日历

*/

public class Task {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.println("请输入一个年份");

int year=input.nextInt();

System.out.println("请输入一个月份");

int month=input.nextInt();

System.out.println(year+"年"+month+"月");

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

Calendar calendar=Calendar.getInstance();

//设置日期为1号

calendar.set(year, month-1, 1);

//获得当月最大天数

int maxday=calendar.getActualMaximum(Calendar.DATE);

//获得当月第一天的星期

int w=calendar.get(Calendar.DAY_OF_WEEK)-1;

StringBuilder sb=new StringBuilder();

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

sb.append("\t");

}

int count=w;

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

sb.append(i+"\t");

count++;

if(count==8){

sb.append("\n");

count=0;

        }

}

System.out.println(sb.toString());

        }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,921评论 0 2
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 7,179评论 0 9
  • Day01 class 例子{ public static void main(String[] args){ ...
    周书达阅读 1,158评论 0 0
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,729评论 0 3
  • 50道JAVA基础编程练习题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    微尘_8957阅读 2,210评论 0 2