查看完整版本: 誰可以幫我把這個題目翻的白話點
頁: [1]

willy80720 發表於 2009-11-7 05:01 PM

誰可以幫我把這個題目翻的白話點

本帖最後由 willy80720 於 2009-11-7 06:13 PM 編輯

我有一題作業它中譯是:

修改圖8.5TIME2類別始之含有

1.一個tick方法可將TIME2物件中儲存的時間值加上一秒

2.在寫出一個可遞增分鐘值的incrementMinute方法

3.以及可遞增小時值的incrementHour方法

請使TIME2(Time2程式 )物件保持在合法狀態下

最後在寫出一個測試程式測試上面的三種方法

此篇摘入於How to program JAVA 七版(中文版)

雖然翻成中文了

可是我還是不太懂他要我們做什麼

懂的人能否翻成白話點= =a....

如果可以舉例那最好

如果還有哪裡不懂得我可以在補充

謝謝

以下是Time2的程式碼 原本沒貼是因為太長了
public class Time2
{
  private int hour;
  private int minute;
  private int second;

  public Time2()
{
   this(0,0,0);
  }


public Time2(int h)
{
  this(h,0,0);
}


public Time2(int h,int m)
{
  this(h,m,0);
}

public Time2(int h,int m,int s)
{
  setTime(h,m,s);
}

  public Time2(Time2 time)
{
  this(time.getHour(),time.getMinute(),time.getSecond());
}



public void setTime(int h,int m,int s)
{
  setHour(h);
  setMinute(m);
  setSecond(s);
}

public void setHour(int h)
{
   hour=((h>...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

pc75111329 發表於 2009-11-7 05:29 PM

哈   沒看到Time2物件,很難斷定要做啥@@
感覺是,在做一個時鐘,Time2 能儲存時間值。
然後方法一  讓秒數遞增,搭搭搭
方法二,當秒數到達某條件時,使分針增加一刻度
以此類推,方法三  使時針增加一刻度
最後去測試,看是否他有再跑@@,有的話 感覺頻幕會看到
一個數字時鐘再跳動  我猜是這個意思,也許有誤解!! 參考吧!

danshu 發表於 2009-11-10 10:25 PM

回復 1# willy80720


    簡單的說,就是叫你寫出三個函式:
1. incrementSecond()  ==> 此Class中的second會加上1
2. incrementMinute()  ==> 此Class中的minute會加上1
3.incrementHour() ==> 此Class中的hour會加上1

看起來像是初學者練習用的題目,在寫的時候請注意時間累加的規則,加油吧!

willy80720 發表於 2009-11-15 10:37 PM

要怎麼寫阿
我一直寫不出來= =a....

饅頭X包子 發表於 2009-11-16 02:29 AM

我試著做了 大大的作業  以下附上我的作法  我才剛學 手法拙劣 希望幫得上忙^^
public class Time2 {
          private int hour;
          private int minute;
          private int second;

          public Time2()
        {
           this(0,0,0);
        }


        public Time2(int h)
        {
          this(h,0,0);
        }


        public Time2(int h,int m)
        {
          this(h,m,0);
        }

        public Time2(int h,int m,int s)
        {
          setTime(h,m,s);
        }

          public Time2(Time2 time)
        {
          this(time.getHour(),time.getMinute(),time.getSecond());
        }


        public void setTime(int h,int m,int s)
        {
          setHour(h);
          setMinute(m);
          setSecond(s);
        }

        public void setHour(int h)
        {
           hour=((h>...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

willy80720 發表於 2009-11-16 01:28 PM

那我想在問一下 如果我想讓他從11:59:59開始跑是要改哪裡
我改第二支程式第8行的  Time2 Clock = new Time2(11,59,59);
可是跑出來卻是從11:00:00開始跑

饅頭X包子 發表於 2009-11-17 02:01 AM

本帖最後由 饅頭X包子 於 2009-11-17 02:02 AM 編輯

不好意思  
要讓他從11:59:59開始跑是要改 第二支程式第8行的  
Time2 Clock = new Time2(11,59,59); 這裡是沒錯
不過會有那樣的結果是因為 我之前那樣寫會有bug 我改了一下

除新增了 兩個boolean varivable 之外就是那三個方法的 變更了 其餘都沒動
public class Time2 {
          private int hour;
          private int minute;
          private int second;
          private boolean m=false;
          private boolean h=false;
         
          public Time2()
        {
           this(0,0,0);
        }


        public Time2(int h)
        {
          this(h,0,0);
        }


        public Time2(int h,int m)
        {
          this(h,m,0);
        }

        public Time2(int h,int m,int s)
        {
          setTime(h,m,s);
        }

          public Time2(Time2 time)
        {
          this(time.getHour(),time.getMinute(),time.getSecond());
        }


        public void setTime(int h,int m,int s)
        {
          setHour(h);
          setMinute(m);
          setSecond(s);
        }

        public void setHour(int h)
        {
           hour=((h>...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]