JAVA基礎(第13天 日曆類 日期 枚舉類型)

package com.wdzl.homework;

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

/**
 * 日曆
 *
 */
public class TestCalendar {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入年份:");
		int year = sc.nextInt();
		System.out.println("請輸入月份:");
		int month = sc.nextInt();
		System.out.println("請輸入日期:");
		int date = sc.nextInt();
		
		//定義日曆類的一個對象
		Calendar cal = Calendar.getInstance();
		//先把日曆翻到 當月1號(month的範圍(0-11),而正常輸入的month是(1-12))
		cal.set(year, month-1, 1);
		//當月1號 是周幾   日-1
		int week = cal.get(Calendar.DAY_OF_WEEK);
		
		//當月一天多少天
		int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		
		String header = "日一二三四五六";
		for (int i = 0; i < header.length(); i++) {
			System.out.print(header.charAt(i)+"\t");
		}
		System.out.println();
		//空格數
		for (int i = 0; i < week-1; i++) {
			System.out.print("\t");
		}
		//日期
		for (int i = 1; i <= days; i++) {
			if(i==date) {
				System.out.print("["+i+"]\t");
			}else {
				System.out.print(i+"\t");
			}
			//換行
			if((i+week-1)%7==0) {
				System.out.println();
			}
		}
	}
}

package com.wdzl.demo04;

import java.util.Calendar;
import java.util.Date;

/**
 * 日曆類 抽象類
 * 
 *
 */
public class TestCalendar {

	public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		//
		int year = cal.get(Calendar.YEAR);
		int month = cal.get(Calendar.MONTH) + 1;// 0~11
		int date = cal.get(Calendar.DATE);
		int dayOfYear = cal.get(Calendar.DAY_OF_YEAR);
		System.out.println("現在是" + year + "年" + month + "月" + date + "日,本年中的第" + dayOfYear + "天");
		// 獲取當前月份的天數
		int a = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println(a);

		// 設置時間
		cal.set(Calendar.MONTH, 1);// 二月份
		System.out.println(Calendar.MONTH);
		a = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println(a);
		// 該方法返回在今年的第一個星期所需的最少天數。
		System.out.println(cal.getMinimalDaysInFirstWeek());

		// Date和Calendar轉換
		// Calendar轉爲Date
		Date d = cal.getTime();
		// Date轉爲日曆Calendar
		cal.setTime(d);
	}
}

在這裏插入圖片描述


日期

package com.wdzl.demo04;

import java.util.Date;
/**
 * 日期類
 *
 */
public class TestDate {
	public static void main(String[] args) {
		//當前時間
		Date date = new Date();
		System.out.println(date);
		//把當前時間轉化爲毫秒
		System.out.println(System.currentTimeMillis());
		
		//把毫秒轉爲Date
		Date date1 = new Date(9999898989888L);
		System.out.println(date1.toLocaleString());
		
		//Date轉爲毫秒
		System.out.println(date1.getTime());
		
		System.out.println(date1.after(date));
		System.out.println(date1.before(date));
		
		Object obj = new Object();
		System.out.println(obj);
		System.out.println(obj.toString());
		
//		MyDate m = new MyDate();
////		m = null;
//		System.out.println(m);
//		System.out.println(m.toString());
//		System.out.println(Integer.toHexString(m.hashCode()));
		
	}
}

在這裏插入圖片描述


枚舉類型

package zuoye;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Test1 test1 = new Test1();
		Scanner input = new Scanner(System.in);
		System.out.println("請輸入星期的天數:");
		System.out.println("MON TUES WED THUR FRI SAT SUN");
		String week = input.next();
		//將字符串的所有字母換成大寫
		String weeks = week.toUpperCase();
		//方法一:將枚舉類型進行轉型(把String轉爲Enum)
		switch (EnumWeek.valueOf(weeks)) {
		case MON:
			System.out.println("工作日,努力寫代碼!");
			break;
		case TUES:
			System.out.println("工作日,努力寫代碼!");
			break;
		case WED:
			System.out.println("工作日,努力寫代碼!");
			break;
		case FRI:
			System.out.println("工作日,努力寫代碼!");
			break;
		case SAT:
			System.out.println("星期天,好嗨喲");
			break;
		case SUN:
			System.out.println("星期天,好嗨喲");
			break;
		default:
			System.out.println("不好意思,你輸入有誤!");
			break;
		}
//		方法二:通過枚舉類來調用
//		test1.display(EnumWeek.MON);
		input.close();
	}
	public void display(EnumWeek enumweek) {
		switch (enumweek) {
		case MON:
			System.out.println("工作日,努力寫代碼!");
			break;
		case TUES:
			System.out.println("工作日,努力寫代碼!");
			break;
		case WED:
			System.out.println("工作日,努力寫代碼!");
			break;
		case FRI:
			System.out.println("工作日,努力寫代碼!");
			break;
		case SAT:
			System.out.println("星期天,好嗨喲");
			break;
		case SUN:
			System.out.println("星期天,好嗨喲");
			break;
		default:
			System.out.println("不好意思,你輸入有誤!");
			break;
		}
	}
}

在這裏插入圖片描述

package com.wdzl.demo04;
/**
 * 枚舉
 * 1.構造方法默認且只能是private
 * 2.默認枚舉實例屬性是public static final 枚舉類型的屬性
 */
public enum WeekEnum {
	MON,TUS,WED,THU,FRI,SAT,SUN(""),ssss;
	private WeekEnum() {}
	WeekEnum(String ss) {
		this.name = ss;
	}
	int age;
	String name;
	public void test() {}
}

class  Color{
	public static final Color RED = new Color();
	public static final Color BLUE = new Color();
	public static final Color COLOR = new Color();
}

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