所以下面的代码:
private void pickNext()
{
last = next;
next = (int)(Math.random() * 9 + 1);
System.out.print(""+last + next);
while(last == next)
{
next = (int)(Math.random() * 9 + 1);
}
}
public boolean guessHigh()
{
pickNext();
return next > last;
}
public boolean guessLow()
{
pickNext();
return next < last;
}
基本上说两个整数(已经实例化,下一个已经定义)next和last被更改,所以last是next,然后next是随机生成的,所以它不是前一个数字。然后guesslow和guesshigh返回如果下一个&gt; last或nextMy问题是什么它返回?它会返回真还是假?还是喜欢一个号码? 在我的代码的另一部分:
public void update(boolean arg)// arg为true表示玩家猜对了 {
if()
{
//random other code
}
else
{
//other code
}
我将如何编写if语句,以便如果是guessLow或guessHigh为true则执行此操作,如果不是,则执行此操作? 非常感谢帮助
答案 0 :(得分:0)
这两个方法返回一个布尔值。在if语句中,您只需将方法的名称写为:
if ( guessHigh() ) {..}
else {..}
或者如果你把它作为参数:
public void update(boolean arg){
if ( arg ) {..}
else {..}
}
在这种情况下,我建议使用更有意义的名称来调用参数,例如hasCorrectlyGuessed。所以你可以把if语句写成
public void update(boolean hasCorrectlyGuessed){
if ( hasCorrectlyGuessed ) {..}
else {..}
}
请参阅Oracle的official tutorial,了解if-then-else。
答案 1 :(得分:0)
基于arg
参数的定义; true
如果玩家猜对了。 arg
将是true
或false
,
if (arg) {
// player guessed correctly.
} else {
// player guessed incorrectly.
}
与
相同if (arg == true) {
// player guessed correctly.
} else {
// player guessed incorrectly.
}
你也可以像
那样颠倒逻辑if (!arg) {
// player guessed incorrectly.
} else {
// player guessed correctly.
}
或
if (arg == false) {
// player guessed incorrectly.
} else {
// player guessed correctly.
}