⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytime.java

📁 航空售票系统的代码
💻 JAVA
字号:
package com.tarena.abs.model;
import java.util.StringTokenizer;
import java.io.*;
/**
 * 我们自己定义的一个时间类,只保留小时和分钟值,小时采用24小时进制。
 * 该类实现Comparable接口,该类对象可比较大小。
 * @author tony.tang
 *
 */
public final class MyTime implements Comparable,Serializable{
	private int hour;//小时
	private int min;//分钟
	public MyTime(int hour,int min){
		if(hour<0||hour>23||min<0||min>59){
			throw new IllegalTimeFormatException(hour+"时"+min+"分");
		}
		this.hour=hour;
		this.min=min;
	}
	public MyTime() {
		super();
	}
	public void setHour(int hour) {
		this.hour = hour;
	}
	public void setMin(int min) {
		this.min = min;
	}
	public int getHour() {
		return hour;
	}
	public int getMin() {
		return min;
	}
	
	/**
	 * 覆盖equals()方法。
	 */
	public boolean equals(Object obj){
		if(obj instanceof MyTime){
			MyTime time=(MyTime)obj;
			if(this.getHour()==time.getHour() && this.getMin()==time.getMin()){
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 覆盖toString()方法。
	 */
	public String toString(){
		return (hour<10?("0"+hour):(hour+""))+":"+(min<10?("0"+min):(min+""));
	}
	
	/**
	 * 覆盖hashCode()方法。
	 */
	public int hashCode(){
		return this.getHour()^this.getMin();
	}
	
	/**
	 * 实现的compareTo()方法,根据两个时间的先后来判断大小。不考虑日期值。
	 * @param obj
	 * @return
	 */
	public int compareTo(Object obj) {
		MyTime time=(MyTime)obj;
		if(this.hour>time.hour)
			return 1;
		else if(this.hour<time.hour)
			return -1;
		else
			return this.min-time.min;
	}
	
	/**
	 * 静态方法,用来把一个字符串解析成一个日期值。
	 * @param str
	 * @return
	 */
	public static  MyTime parseTime(String str){
		StringTokenizer st=new StringTokenizer(str,":");
		return new MyTime(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -