作業要求:
定義一個名為 MyTime 的類,其中私有屬性包括天數,時,分,秒;定義一個可以初始化時,分,秒的構造方法,并對初始化數值加以限定,以防出現bug;定義一個方法,可以把第幾天,時,分,秒列印出來;通過定義方法可以分別對時,分,秒進行加運算,要保證天數,時,分,秒間的進制轉換無誤;
除錯:在主方法中創建time物件,同時初始化時,分,秒;再對時,分,秒進行加運算,并將時間結果列印出來:
import java.util.*;
public class 時間管理 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("請依次初始化時間:時:分:秒 (注意若初始化數值不合理,系統將默認初始化其值為0)");
int inTimeHour=s.nextInt();
int inTimeMinute=s.nextInt();
int inTimeSecond=s.nextInt();
MyTime time=new MyTime(inTimeHour,inTimeMinute,inTimeSecond);
System.out.println("快進 ? 時:");
inTimeHour=s.nextInt();
time.addHour(inTimeHour);
System.out.println("快進 ? 分:");
inTimeMinute=s.nextInt();
time.addMinute(inTimeMinute);
System.out.println("快進 ? 秒:");
inTimeSecond=s.nextInt();
time.addSecond(inTimeSecond);
time.display();
}
}
class MyTime {
protected int hour;
protected int minute;
protected int second;
protected int day;
public MyTime() {
}
public MyTime(int hour, int minute, int second) {
if(hour>=24){
setHour(0);
}
else this.hour = hour;
if(minute>=60){
setMinute(0);
}
else this.minute = minute;
if(second>=60){
setSecond(0);
}
else this.second = second;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public int getHour() {
return hour;
}
public void setHour(int hour) {
this.hour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
this.minute = minute;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {
this.second = second;
}
public void display() {
System.out.println("目前時空:"+"第"+getDay()+"天:"+getHour() + ":" + getMinute() + ":" + getSecond());
}
public void addSecond(int second) {
int sec = this.second + second;
if (sec >= 60) {
addMinute((int) (sec / 60));
setSecond(sec % 60);
} else {
setSecond(sec);
}
}
public void addMinute(int minute) {
int min = this.minute + minute;
if (min >= 60) {
addHour((int) (min / 60));
setMinute(min % 60);
} else {
setMinute(min);
}
}
public void addHour(int hour) {
int hou= this.hour + hour;
if (hou >= 24) {
addDay((int) (hou / 24));
setHour(hou % 24);
} else {
setHour(hou);
}
}
public void addDay(int day) {
setDay(day);
}
}
博主能力有限,若程式有bug或有其他不當之處,請狠狠打臉博主 (~ ̄(OO) ̄)ブ
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/354411.html
標籤:Java
