Hjälp med simpelt javaprogram som slumpar lottorader

Permalänk

Hjälp med simpelt javaprogram som slumpar lottorader

Hej! Jag är ny inom programmering och har nyligen börjat skriva ett program som slumpar fram x antal lottorader med 7 unika nummer. Hittills har det gått bra och jag får ut mina rader. Däremot så skulle jag vilja att lottoraderna som skrivs ut i slutet ska vara sorterade i storleksordning med det lägsta numret först.
Har suttit och klurat en del men lyckas inte få till det. Är det någon som har förslag? Tack på förhand

Koden:

import java.util.*; public class lottorader { private static Scanner in; public static void main(String[] args) { // Inmatningsverktyg in = new Scanner(System.in ); in.useLocale(Locale.US); System.out.print("Lottorader\n"); System.out.print("\n"); // Mata in antalet lottorader att generera System.out.print("Antal lottorader att generera: "); int antalRader = in.nextInt(); System.out.print("\n"); for (int r = 0; r < antalRader ; r++) { // Array med 35 platser Integer[] numbers = new Integer[35]; // Fyller platserna i arrayen med nr: 1-35 for (int i = 0; i < 35; i++) numbers[i] = i + 1; // Blandar numrem så att de hamnar i slumpad ordning List<Integer> list = Arrays.asList(numbers); Collections.shuffle(list); // Denna loop skriver ut de första 7 numren i arrayen efter blandningen for (int i = 0; i < 7; i++) System.out.print(list.get(i) + " "); System.out.print("\n"); } } }

Permalänk
Medlem

Testa att använda dig av Arrays.sort(int[])
Här är ett exempel:

int[] ints = { 3, 2, 5, 4, 1, 7, 6 }; // lottonummer Arrays.sort(ints); for (int i : ints) System.out.println(i);

Permalänk

Tack för ett snabbt svar. Jag har kollat lite på det där innan. Förstår hur det funkar men inte hur jag ska implementera det i min kod. För att detta ska funka måste jag väl skicka de första 7 talen efter shuffleln från den första arrayen till en helt ny tom array? Hur gör jag detta?

Permalänk
Skrivet av randomanon:

Tack för ett snabbt svar. Jag har kollat lite på det där innan. Förstår hur det funkar men inte hur jag ska implementera det i min kod. För att detta ska funka måste jag väl skicka de första 7 talen efter shuffleln från den första arrayen till en helt ny tom array? Hur gör jag detta?

Helt rätt. Skapa en ny array av integers som du sedan fyller med de 7 första talen från din lista.

int[] ints = new int[7]; for (int i = 0; i < ints.length; i++) { ints[i] = list.get(i); } //Sedan precis som pstwrw skrev Arrays.sort(ints); for (int i : ints) System.out.println(i);

Permalänk

Tack så mycket för hjälpen! Nu fungerar det alldeles utmärkt