如何在compilejava.net中使用此代码创建If else语句?

时间:2017-02-01 17:10:04

标签: java

在我的计算机编程课上,我们必须回答以下问题:
考虑以下游戏。 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个随机生成的数字,然后选择这个数字而不是另一个。

2 个答案:

答案 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!");