【发布时间】:2014-10-30 07:31:28
【问题描述】:
我的问题是当 boolean 为 false 时它仍然返回 i 并将其放在数组 lotto 中。如何修复它,以便当 boolean 为 false 时,它会丢弃 i 并为该元素运行另一个随机数。
package LottoNumbers;
import java.util.Arrays;
public class LottoNumbers {
//check for duplicates in each array
public static boolean isFound(int[] lotto, int number) {
for (int i = 0; i < lotto.length; i++) {
if (lotto[i] == number ) {
return true;
}
}
return false;
//DO SOMETHING IF FALSE THAT WILL GET RID OF THE NUMBER
}
public static void main(String[] args) {
//specify length of array
int[] lotto = new int[6];
//determine how many arrays
for (int Set = 1; Set <= 5; Set++) {
//assign random numbers to each array element
for (int i = 0; i < lotto.length; i++) {
int number= 0;
isFound(lotto, number = (int) (Math.random() * 50));
lotto[i] = number;
}
Arrays.sort(lotto);
//sort elements in array
//Sort arrays to specified Set numbers
if (Set == 1) {
System.out.printf("LOTTO Numbers for set 1 --> ");
} else if (Set == 2) {
System.out.print("LOTTO Numbers for set 2 --> ");
} else if (Set == 3) {
System.out.print("LOTTO Numbers for set 3 --> ");
} else if (Set == 4) {
System.out.print("LOTTO Numbers for set 4 --> ");
} else if (Set == 5) {
System.out.print("LOTTO Numbers for set 5 --> ");
}
System.out.printf(Arrays.toString(lotto).replace("[", "").replace(",", "").replace("]", "") + "\n");
}
}
}
【问题讨论】:
-
我希望只在 boolean 返回 true 时填写 lotto[]。
-
下面的解决方案对您有帮助吗?
-
我不能使用数组列表来完成这个任务。不管我的 for 循环多么无用,这是一个要求。 ://
-
没关系 - 我也包含了一个使用数组和 for 循环的解决方案。
-
我正在尝试找出解决方案。