2017-09-19 46 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)