private boolean isValid(int aRating)
{
return aRating >= 1 && aRating <= 10;
}
or
private boolean isValid(int aRating)
{
if (aRating >=1 && aRating <=100
return true;
else
return false
}
我現在需要編寫一個方法setRating(aRating),將等級設置爲aRating,如果它有效。所以我假設我需要在公共方法中使用上面的方法來檢查它是否有效。如果有效,我需要將rating =設置爲aRating。到目前爲止我的想法一直是這樣的:如何在公共方法中使用私有方法來檢查有效性?
public void setRating(int aRating)
{
if (isValid() == true)
rating = aRating;
}
但我不能使用isValid作爲==爲真,因爲它是一種方法。我也嘗試使用isValid();爲了僅嘗試和使用該方法,但由於頂部的(int aRating)而不允許。如果我沒有識別它,然後不會讓我在所有使用aRating ...
現在,它是
public void setRating(int aRating)
{
if (isValid(aRating))
rating = aRating;
}
我需要做一個setRating()方法,它允許用戶輸入從鍵盤的東西,再次它必須是有效的,我不斷收到錯誤,因爲它說我不能重載SetRating(int aRating)兩次,我明白。但是,如果我嘗試將int部分取出,它是無效的,因爲它需要一個參數。這是我所
public void setRating()
{
Scanner keyboard = new Scanner(System.in);
if (isValid(aRating))
rating = keyboard.nextInt();
}
一般來說,提供一個'setRating'方法是一個好主意,它可以從鍵盤上交互地讀取。用戶界面的設計應該發生在程序的另一部分,並且只使用'setRating(int)'方法。這樣,您不必僅僅因爲老師告訴您將提示改爲「請輸入:」就可以更改每堂課的代碼。 –
我一定是學習錯了,或者這本書真的很糟糕,因爲它特別要求制定兩套額定方法,一種是我在上面演示的Corey幫助我的。 setRating(aRating)很好,第二個setRating()需要「從鍵盤讀取評分,堅持用戶提供的評分有效」 – Renuz
初學者的書和現實生活中的代碼有很大的區別。對於初學者來說,使代碼儘可能簡短和可讀性是很好的風格。沒關係,因爲代碼不必住在容易丟失概覽的大型系統中。但是,無論如何,你很可能會學到這一點。你現在的任務是從鍵盤讀取並驗證輸入,這本身就是非常有價值的。 –