2017-09-19 86 views
-2

我目前正在開始一門Java課程,我是一名相對的初學者,我已經接受了一個練習,其中一部分要求我寫一個方法,打印出它是否足夠好天氣去騎自行車。 它必須大於40度且小於100度,除非下雨,在這種情況下,它必須大於70度且小於110度。需要天氣/騎自行車的方法需要幫助

問題是,我比初學者(通常是編程)更喜歡課程中的大多數其他人,而且這個練習看起來像是從同一個作業的其餘部分開始的一步。

E.g前一個任務,創建一個骰子滾動的方法 -

public static int diceAverage (int pNumberofRolls) { 
    int total=0; 
    Random rand = new Random(); 
    for (int loopy=1; loopy<=pNumberofRolls; loopy++){ 
     total = total + rand.nextInt(6) + 1; 
    } 
} 

很抱歉,如果格式化了,我對我的手機。

+3

問一個問題,並提供有關這個問題的https代碼:/ /stackoverflow.com/help/how-to-ask – IddoE

+0

嘗試學習編碼。不要在這裏發佈你的作業。 –

+0

如果其中一種解決方案適用於您,請接受一個解決問題的答案 – Al1

回答

0

我認爲你正在尋找這樣的:

public static Boolean bikeOrNot (int temp, Boolean rain) { 
    // check for rain 
    if (rain){ 
     if (temp > 70 && temp < 110){ 
      return true; 
     } 
    } else { 
     if (temp > 40 && temp < 100){ 
      return true; 
     } 
    } 
    return false; 
} 

調用此類似:

Boolean shouldIBike = bikeOrNot(60, false); 

它檢查如果在下雨,則檢查溫帶和不如果不下雨一樣。如果它不屬於任何if,它將到達最後一行並返回false,在這種情況下,您不應該騎自行車。

+5

所有這些布爾對象都應該用布爾原語替換。 –

2

凱爾的答案很好。對於學術的目的,相同的代碼與三元運算符:

public static boolean bikeOrNot (int temp, boolean rain) { 
    return rain 
      ? temp > 70 && temp < 110 
      : temp > 40 && temp < 100; 
} 

一些解釋:

  • 我使用布爾而不是布爾因爲答案不能爲空。參數布爾型雨而不是布爾型雨。對於這一點,你可以檢查本原數據類型概念
  • 三元操作是寫在一個行if ... then ... else...快捷方式:(condition) ? (return this if condition is true) : (return this if condition is false)