Java -掷2个骰子直到得到蛇是-什么';it’我的逻辑有问题,如何打印一个方法的最后一个结果而不重新校准它
这是一个家庭作业,我必须编码2个骰子,不断滚动,只有当两个骰子都被蛇咬时才会停止。我有两个问题:Java -掷2个骰子直到得到蛇是-什么';it’我的逻辑有问题,如何打印一个方法的最后一个结果而不重新校准它,java,Java,这是一个家庭作业,我必须编码2个骰子,不断滚动,只有当两个骰子都被蛇咬时才会停止。我有两个问题: 有时CastDie1和CastDie2返回1,但IF语句不验证条件 我想打印每个结果,包括蛇眼,但每当我尝试打印SnakeYes结果时,该方法会再次被调用,并且数字会发生变化 public class SnakeEyesCount { /** * @param args the command line arguments * @return */ public static int CastD
public class SnakeEyesCount {
/**
* @param args the command line arguments
* @return
*/
public static int CastDie1() {
int die1 = (int)(Math.random()*6)+1;
return die1;
}
public static int CastDie2() {
int die2 = (int)(Math.random()*6)+1;
return die2;
}
public static void main(String[] args) {
// TODO code application logic here
int countSnakeEyes = 0;
boolean snakeEyes = false;
while (snakeEyes == false) {
TextIO.putln("Die1: " + CastDie1());
TextIO.putln("Die2: " + CastDie2());
countSnakeEyes++;
if (CastDie1() == 1 && CastDie2() == 1) {
TextIO.putln("Die1: " + CastDie1() + " SNAKE EYES!");
TextIO.putln("Die2: " + CastDie2() + " SNAKE EYES!");
TextIO.putln("Snake Eyes after " + countSnakeEyes + " rolls of the dice");
snakeEyes= true;
}
}
}
}
将方法调用的结果存储在变量中。打印变量的值,然后检查是否为蛇眼
此外,不需要有两种单独的铸造方法;它们做同样的事情。将方法调用的结果存储在变量中。打印变量的值,然后检查是否为蛇眼
此外,不需要有两种单独的铸造方法;他们做同样的事情。你调用
CastDie1
和CastDie2
两次。由于结果是随机的,所以不能保证在连续执行中获得相同的值
调用方法一次,并将结果存储在一个变量中,以便打印出来并以其他方式使用
while(!snakeEyes) {
int die1 = CastDie1();
int die2 = CastDie2();
TextIO.putln("Die1: " + die1);
// and so forth
if(die1 == 1 && die2 == 1) {
// the rest of your logic
}
}
虽然我认为有两个不同的方法来调用die是您想要的,但它们做的事情是相同的,所以我鼓励您将其分解为一个方法:
castDie
。我将此作为练习留给读者。您调用CastDie1
和CastDie2
两次。由于结果是随机的,所以不能保证在连续执行中获得相同的值
调用方法一次,并将结果存储在一个变量中,以便打印出来并以其他方式使用
while(!snakeEyes) {
int die1 = CastDie1();
int die2 = CastDie2();
TextIO.putln("Die1: " + die1);
// and so forth
if(die1 == 1 && die2 == 1) {
// the rest of your logic
}
}
虽然我认为有两个不同的方法来调用die是您想要的,但它们做的事情是相同的,所以我鼓励您将其分解为一个方法:
castDie
。我将此作为练习留给读者。将调用castDie
的结果分配给局部变量int die1=castDie1()
,然后您可以打印并计算它,而无需更改它将调用castDie
的结果分配给局部变量int die1=castDie1()
,然后您可以打印并计算它,而无需更改。我曾尝试只使用一种方法,但后来我意识到“哦,我不知道如何返回2个值,也不知道如何分别打印出每个值”。不管怎样,谢谢你的帮助。我确实试着只使用一种方法,但后来我意识到“哦,我不知道如何返回2个值,也不知道如何分别打印这些值”。无论如何,谢谢你的帮助。