Java小程序之日历


这是一个简单控制台输出日历的小程序,话不多说了直接上代码,欢迎大家评论留言指教。


package test1;

import java.util.Calendar;
import java.util.Scanner;

import javax.xml.soap.SAAJResult;

import org.junit.Test;

/**
 * 简单的控制台输出日历
 * 作者:Yuanxi
 * 时间:2018年8月13日下午4:38:50
 */
public class Practice {

    @Test
    public void rili() {
    Scanner input=new Scanner(System.in);

    System.out.println("请输入年份:");
    String y=input.next();
    System.out.println("请输入月份:");
    String m=input.next();
    int year=0;
    int month=0;
    //简单判断下输入格式是否正确
    if(y.matches("\\d+")&&m.matches("\\d{1,2}")) {
         year=Integer.parseInt(y);
         month=Integer.parseInt(m);
    }
    else {
        System.out.println("输入有误,请重新输入");
    }

     System.out.println(year+"  "+month);
     //获取系统的数据
    Calendar c=Calendar.getInstance();
    if(year>0&&month>0) { 
        c.set(year, month-1, 1);        
        int numday=c.getActualMaximum(Calendar.DATE);
        int a=c.get(Calendar.DAY_OF_WEEK); 
        System.out.println("日\t"+"一\t"+"二\t"+"三\t"+"四\t"+"五\t"+"六\t");
        //判断第一行应该输出几个空格
        for(int i=0;i<a-1;i++) {
            System.out.print(" \t");
        }
        //第7个数换行
        for (int i=1;i<=numday;i++) {
            System.out.print(i+"\t");
             if((i+a-1)%7==0)
                System.out.println(" \t");
        }
    }
  }
}

运行效果如下
这里写图片描述

猜你喜欢

转载自blog.csdn.net/m0_37922795/article/details/81632710