作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个老虎机游戏,如果所有三个数字都匹配,则会传达一条消息“大奖”。现在我想在只有两个数字匹配时将此消息更改为“关闭”,我正在努力寻找一种方法来测试三个数字中的两个是否匹配,而不是同时显示这两个消息。
import java.util.Random;
public class SlotMachine {
public static void main(String[] args) {
boolean playing = true;
Random rand = new Random();
int number1 = rand.nextInt(2)+1;
int number2 = rand.nextInt(2)+1;
int number3 = rand.nextInt(2)+1;
int total = number1 + number2 + number3;
System.out.println("-------------------");
System.out.println("| " + "( "+ number1 + " )" + "( " + number2 + " )" + "( " + number3 + " )" + " |");
System.out.println("-------------------");
if(number1*3 == total && number2*3 == total && number3*3 == total){
System.out.println("| JACKPOT!!! |");
System.out.println("-------------------");
playing = false;
}
if(number1 == number2) {
System.out.println("| CLOSE.. |");
System.out.println("-------------------");
}
}
}
最佳答案
如果您只关心唯一值(重叠)的数量,那么我会简单地创建一个 Set<Integer>
并将这三个数字相加。因为 Set
只允许唯一值,任何重复值都将有效消失,因此剩余数量将显示您的老虎机生成了多少个不同的数字,为您提供所需的答案。
Set<Integer> uniqueNumbers = new HashSet<>(4);
uniqueNumbers.add(number1);
uniqueNumbers.add(number2);
uniqueNumbers.add(number3);
int uniqueCount = uniqueNumbers.size();
if (uniqueCount == 1) {
// Jackpot code goes here.
} else if (uniqueCount == 2) {
// "Close" code goes here.
}
关于java - 如何在 Java 中检查匹配的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40675743/
我是一名优秀的程序员,十分优秀!