gpt4 book ai didi

java - 从随机生成器打印偶数

转载 作者:行者123 更新时间:2023-12-02 05:17:23 24 4
gpt4 key购买 nike

import java.util.*;
public class Exam2_2 {
public static void main(String[]args) {
Random rand = new Random();
int roll = 0;
int roll2 = 0;
int tries = 0;

while((roll % 2 == 0) && (roll2 % 2 == 0)) {
roll = rand.nextInt(8) + 1;
roll2 = rand.nextInt(8) + 1;
System.out.println("(" + roll + ", " + roll2 + ")");
tries++;
}
System.out.println("you won after " + tries + " tries");
}
}

我的任务是模拟掷两个 8 面骰子,只有当两个数字都为偶数时才停止。我不确定我做错了什么,并尝试了很多不同的方法来看看它是否能按照我需要的方式工作。任何建议将不胜感激。谢谢。

最佳答案

对我来说,这似乎是使用 do {} while 的最佳时机,例如

Random rand = new Random();
int tries = 0;
int roll;
int roll2;
do {
roll = rand.nextInt(8) + 1;
roll2 = rand.nextInt(8) + 1;
System.out.printf("(%d, %d)%n", roll, roll2);
tries++;
} while ((roll % 2 != 0) || (roll2 % 2 != 0)); // <-- while roll or
// roll2 is odd.
System.out.println("you won after " + tries + " tries");

或者,您可以使用DeMorgan's Law并将 ((roll % 2 != 0) || (roll2 % 2 != 0)) 替换为

while (!((roll % 2 == 0) && (roll2 % 2 == 0)));

也就是说,虽然NOT(roll偶数roll2偶数>).

关于java - 从随机生成器打印偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26813002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com