这是一个简单控制台输出日历的小程序,话不多说了直接上代码,欢迎大家评论留言指教。
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");
}
}
}
}
运行效果如下