1 回答

TA貢獻1828條經驗 獲得超6個贊
在這種情況下,我更喜歡使用 Stream API。所以我認為應該是這樣:
public static void main(String[] args) {
System.out.print("Hvor mange rekker vil du spille?: ");
Scanner lesInn = new Scanner(System.in);
int nummer = lesInn.nextInt();
System.out.println("Lotto tallene er: ");
System.out.println();
for (int i = 0; i < nummer; i++) {
int[] lottoNummer = trekk();
System.out.print(lottoNummer[1] + " ");
System.out.print(lottoNummer[2] + " ");
System.out.print(lottoNummer[3] + " ");
System.out.print(lottoNummer[4] + " ");
System.out.print(lottoNummer[5] + " ");
System.out.print(lottoNummer[6] + " ");
System.out.print(lottoNummer[7] + " ");
System.out.print("Tilleggstall:(" + lottoNummer[7] + ")");
System.out.println();
}
}
public static int[] trekk() {
return new Random().ints(1, 35).distinct().limit(8).sorted().toArray();
}
創建一個隨機整數流,其中第一位數字表示最小值,最后一個數字表示最大值。Distinct 用于僅生成唯一的數字,Limit 用于限制數組的大小,Sorted 顯然用于排序。然后將其映射到數組并返回。
實際上,如果您不介意的話,我想重構一下您的代碼,如下所示:
public static void main(String[] args) {
System.out.print("Hvor mange rekker vil du spille?: ");
Scanner lesInn = new Scanner(System.in);
int nummer = lesInn.nextInt();
System.out.println("Lotto tallene er: ");
System.out.println();
for (int i = 0; i < nummer; i++) {
int[] lottoNummer = trekk();
for (int num : lottoNummer) {
System.out.print(num + " ");
}
System.out.print("Tilleggstall:(" + lottoNummer[lottoNummer.length - 1] + ")");
System.out.println();
}
}
public static int[] trekk() {
return new Random().ints(1, 35).distinct().limit(8).sorted().toArray();
}
添加回答
舉報