java控制台输出日历
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小程序:控制台输出日历
package cn.java.Visualcalendar;
import java.text.*;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
publicclass Visualcalendar {
publicstaticvoid main(String[] args){
System.out.println("请输入如下格式日期(2001-1-1):");
Scanner scanner= new Scanner(System.in);//手动输入。
String str = scanner.nextLine();//将手动输入的一行字符串赋值给str。
DateFormat time = new
SimpleDateFormat("yyyy-MM-dd");//按照yyyy-MM-dd的格式解
析字符串。
try{ //正常情况下执行。
Date date = time.parse(str);//将字符串转换为Date数据。
Calendar calendar = new GregorianCalendar();//调用Calendar类方法。
calendar.setTime(date);//设置当前时间为输入时间。
int year = calendar.get(Calendar.YEAR);//获取输入时间的年数。
int mun = calendar.get(Calendar.MONTH);//获取输入时间的月数。
int day = calendar.getActualMaximum(Calendar.DATE);//获取输入当前月份最大天数。
int qgg = calendar.get(Calendar.DATE);//获取输入时间的天数。
calendar.set(Calendar.DATE, 1);//设置日期为当月第一天。
int jay = calendar.get(Calendar.DAY_OF_WEEK);//获取输入月份的第一天是星期几。所以在设置日期下面声明。
System.out.println("查询"+year+"年"+(mun+1)+"月日历,如下:");//输出mun时记住从0开始所以+1。
System.out.println("日\t一\t二\t三\t四\t五\t 六");
for(int j=1;j System.out.print("\t"); } for(int i=1;i<=day;i++){ //遍历输出每一天的数字。 if(i==qgg){//在输入的天数前面标记*。 System.out.print("*"); } System.out.print(i+"\t"); int ggq= calendar.get(Calendar.DAY_OF_WEEK);//获取遍历输出时的星期几。 calendar.add(Calendar.DATE, 1);//每输出一次,便在当前时间上加一天。 if(ggq%7==0){ // 当输出天数为星期六时,转行。 System.out.println(); } } } catch(ParseException e){ e.printStackTrace();//抛出异常。 } } }