【发布时间】:2021-12-31 12:28:00
【问题描述】:
我有一个 Java 彩票游戏任务,并且我正在运行一个 while 循环以防止结果中的数字重复。
我得到一个没有重复的数字列表,但是System.out.print 正在返回所有行,直到我得到最后一个没有重复的行。有没有办法只打印最后的“获胜”行?
代码如下
while (numCount<=9) {
int randNumber = rand.nextInt(99)+1;
if (results[0] == randNumber || results[1] == randNumber || results[2] == randNumber || results[3] == randNumber ||
results[4] == randNumber || results[5] == randNumber || results[6] == randNumber || results[7] == randNumber
|| results[8] == randNumber || results[9] == randNumber) {
} else {
Array.setInt(results, numCount, randNumber);
numCount++;
}
System.out.print("The Lottery Numbers are: ");
for (int i=0; i<10; i++)
//add a 0 in front of the number is it's less that 10
if (results[i] <10) {
System.out.print("0"+results[i]+" ");
}
}
【问题讨论】:
-
将你的 print for 循环带出 while 循环。
-
您可以将结果数组替换为
Set<Integer>并应用contains。
标签: java while-loop duplicates system.out