在我的计算机编程课上,我们必须回答以下问题:
考虑以下游戏。 Alice在两张牌上写下0到100之间的两个整数。鲍勃可以选择两张卡中的一张,看看它的价值。看完价值后,鲍勃承诺两张牌中的一张。如果他选择价值最高的牌,他就赢了;否则他输了。为鲍勃设计一个策略(和相应的计算机程序),以便他保证在一半以上的时间内获胜。
我制定了这个程序试图解决问题:
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
Random r = new Random();
System.out.println("First Number: " + r.nextInt(100));
System.out.println("Second Number: " + r.nextInt(100));
}
}
我需要知道的是我如何(或者如果我需要)制作一个if / else语句,选择至少50个随机生成的数字,然后选择这个数字而不是另一个。
答案 0 :(得分:1)
您需要两个变量来存储生成的随机数。
int number1 = r.nextInt(100);
int number2 = r.nextInt(100);
之后,您可以将变量与if语句进行比较:
if(number1 < number2)
System.out.println(number1 + " is smaller!");
else
System.out.println(number1 + " is bigger!");
我非常确定您可以修改这个小例子,将您的值与50或任何您想要的值进行比较?祝学习编程好运。您可以在Oracle site上找到一个很好的Java教程。
答案 1 :(得分:0)
首先,您需要将两个数字存储在整数变量中而不是打印它们
int first = r.nextInt(100);
int second = r.nextInt(100);
然后创建一个存储Bob选择的变量
int selectedCard;
让Bob总是检查第一张卡片会让事情变得更轻松。
if(first > 50)
selectedCard = 1;
else
selectedCard = 2;
然后你可以打印出Bob是赢还是输
if(selectedCard == 1) {
if(first > second)
System.out.println("Bob wins!");
else
System.out.println("Bob loses!");
}
else {
if(second > first)
System.out.println("Bob wins!");
else
System.out.println("Bob loses!");