2016-02-19 131 views
-2

嘿傢伙,所以我需要setTime方法的幫助。基本上這是我的任務中的問題:用setTime方法遇到的麻煩

考慮一個類表示時間的時間。它具有 小時和分鐘的屬性。小時值的範圍從0到23,其中範圍0到 11表示中午之前的時間。分鐘值範圍從0到59. a。編寫一個默認構造函數,將時間初始化爲0小時0分鐘。 b。編寫一個私有方法isValid(小時,分鐘),如果 給定的小時和分鐘值在適當的範圍內,則返回true。 c。編寫setTime(小時,分鐘)方法,設置給定的 值有效的時間。

我需要用C幫助,在我的代碼,你可以看到,我有設定時間的方法,但是當我跑我的程序和進入的時間它進入,而不是返回的數字是:

Please enter the hour 
3 
Please enter the minute 
23 
The time is [email protected] [email protected] 
BUILD SUCCESSFUL (total time: 3 seconds) 

我的代碼

/* 

*要更改此模板,請選擇工具|模板 *並在編輯器中打開模板。 */ 包時間;

/** * * @author 797286001 */

公共類時間{

/** 
* @param args the command line arguments 
*/ 

//default constructor 

public static int hour; 
public static int minute; 


public Time(){ 
    hour = 0; 
    minute = 0; 

} 


private static boolean isValid(int hour, int minute) 
//returns true if given hour & minute values are in range 
{ 
    if((hour >= 0 && hour <= 23) && (minute >= 0 && minute <=11)) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 


public void setTime(int hour, int minute) 
//set time if given values are valid - 
{ 




} 



public static void main(String[] args) { 
    // 
    Time.hour = 0; 
    Time.hour = 0; 
Time hour = new Time(); 
Time minute = new Time(); 




    System.out.println("The time is " + hour + " " + minute); 


} 

} 

回答

0

setTime不應該閱讀從鍵盤上任何東西;這些參數包含您需要的值。

+0

好吧所以我刪除了他們keboard的東西,並用'Time.hour = 0;'和'Time.minute = 0;替換它在我的setTime void中,但我仍然得到:時間是[email protected] [email protected]。 – 1210saad

+0

不是根據你的問題所說的;如果代碼已更改,則需要顯示*新代碼*。 –

+0

好吧,我添加了新的代碼。也許我不明白這個問題c)是問,它告訴我**寫一個方法setTime(小時,分鐘),如果給定的 值有效,則設置時間。**我在哪裏放置給定值? – 1210saad

0

Time hour = new Time(); Time minute = new Time();

這將創建你的類名爲小時和分鐘的兩個實例。然後你嘗試打印出來。默認的toString()方法打印出他們在內存中的位置。

繼續並創建該類的一個實例,然後使用它來調用您需要調用的方法。另外,你的setTime方法需要2個參數,但不使用它們。