實訓 -- 製作一個可視化日曆

package date;

import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
import javax.print.DocFlavor.STRING;



/**
 * @author Administrator
 *	
 * 做一個可視化日曆
 * 知識點:Calendar 的用法
 * 		Format 格式化字符串
 */
public class VisualCalendar {
	public static void main(String[] args) {
		System.out.println("請輸入日期(格式:2011-10-15):");
		Scanner scanner = new Scanner(System.in);
		String str = scanner.nextLine();
		
		String temp = str;
		DateFormat format =  new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date date = format.parse(temp);
			Calendar calendar = new GregorianCalendar();
			calendar.setTime(date);
			calendar.set(Calendar.DATE, 1);      //set 設置該月第一天
//			System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //獲取第一天是星期幾
//			System.out.println(calendar.getActualMaximum(Calendar.DATE)); //獲取一個月多少天
			
			
			
			System.out.println("日\t一\t二\t三\t四\t五\t六");
			//判斷在星期幾來來確定輸入多少個製表符
			for(int M = 0 ;M<calendar.get(Calendar.DAY_OF_WEEK) - 1;M++){
				System.out.print("\t");
			}
			int maxDate = calendar.getActualMaximum(Calendar.DATE);
			for(int d = 1;d<=maxDate;d++){
				System.out.print(d + "\t");
				int w=calendar.get(Calendar.DAY_OF_WEEK);
				if(w == Calendar.SATURDAY){
					System.out.println();
				}
				calendar.add(Calendar.DATE,1);
			}
		//定義一個字符串  然後進行格式化字符串
	
			
			
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			
			
			
		}
		
		
	}
	
	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章