Zufällige Gruppen erstellen

C.Hermanos

Mitglied
Hi Leute, bin neu hier im Forum und mache seit ca. 4 Monaten Java.
Jedoch habe ich ein Problem.
Ich soll ein Programm schreiben, welches zufällig (Arbeits-)gruppen erstellt.
Dazu soll erst gefragt werden, wieviele Leute es gibt, anschließend sollen die Namen und Nachname erfasst werden.
Wenn das alles erledigt wurde, wird gefragt, wie groß die Guppen seien soll.
Wenn man z.B. 2er Gruppen eingibt und 10 Personen, soll das Programm 5 zufällge Gruppen mit jeweils 2 Personen ausgeben.
Wie mache ich das genau?

Was ich berreits habe:
Java:
import java.util.*;

public class Random_Groups{
  public Random_Groups(){
    
    Scanner sc = new Scanner(System.in);
    System.out.print("Wieviele Leute gibt es?: ");
    int anz_leute = sc.nextInt();


      String[] name = new String[anz_leute];
      String[] nachname = new String[anz_leute];

      for(int i = 0; i < anz_leute; i++){
      System.out.println("\nPerson" + (i + 1));
      System.out.print("Vorname: ");
      name[i] = sc.next();
      System.out.print("Nachname: ");
      nachname[i] = sc.next();

      }
    System.out.println("\nAlle Leute wurden erfolgreich aufgenommen");
    System.out.print("Wieviele Personen sollen in einer Gruppe sein? ");
    int gruppengrösse = sc.nextInt();

  }
 public static void main(String [] args){
   new Random_Groups();
 }
}

Nun komme ich leider nicht weiter;(
Vielen Dnak für eure Hilfe!
 

eRaaaa

Top Contributor
Es ist immer schwer bei so etwas zu helfen, wenn keine wirkliche Frage dabei ist, denn niemand weiß genau wie weit ihr gerade seid und was ihr schon hattet.
Java:
		String[] name = new String[anz_leute];
		String[] nachname = new String[anz_leute];

so etwas ist immer etwas doof und machts meist komplizierter. Wieso keine eigene Klasse Person o.ä. die dann den Namen + Vornamen trägt? Dann ein Array von Personen (oder besser eine Liste)! Dann weiß man auch nicht ob ihr schon so etwas wie Collections.shuffle kennt. Denn damit könnte man, nachdem man alle Personen eingelesen hat die Liste einfach durchmischen und dann eben entsprechend der Gruppengröße einfach die ersten x Personen zusammen stecken. Wenn ihr Listen noch nicht hattet, kannst du dir ja ein Arrays.shuffle selbst bauen(also ein durchmischen des Arrays)
 

C.Hermanos

Mitglied
Ersteinmal danke für deine Antwort.
Nur leider habe ich keine Ahnung wovon du sprichst ???:L (sry nichts gegen dich)

das mit dem
Java:
String[] name = new String[anz_leute];
ist so, wie wir es im Unterricht hatten. Eigene Klassen etc. hatten wir leider (noch) nicht.
 

Marco13

Top Contributor
Halb-OT: Der Hinweis "Das hatten wir noch nicht" zieht irgendwie nicht. Ihr habt auch noch nicht durchgenommen, wie man ein Programm schreibt, mit dem man zufällige Gruppen erstellt. Man MUSS auch Sachen machen, die einem der Lehrer noch nicht vorgekaut hat (und wenn man dafür eine schlechtere Note bekommt... .... ... verweise den Lehrer bitte mal an mich :hihi: )

Ansonsten... Schau dir mal die klasse java.util.Random an, und stelle dann ggf. spezifischere Fragen.
 

Landei

Top Contributor
Wenn ihr Listen schon "hattet", gibt es eine ganz einfache Lösung: Alle Leute (z.B. als String-Array mit zwei Werten) in eine ArrayList packen, java.util.Collections.shuffle mischt die Liste durch, und dann einfach die Gruppen abzählen.
 

C.Hermanos

Mitglied
Kann mir vlt. jemand ein Beispielcode geben?
Es muss nicht einer sein, wo meine Arbeit erledigt sondern eher einer, wo z.B. java.util.Random; benutzt wird.
Wäre echt nett und vorallem hilfreich:applaus:
 

eRaaaa

Top Contributor
Java:
	public static void shuffle(Person[] array){
		Random r = new Random();
		for (int i = array.length; i > 1; i--) { //oder sonst wie...
			int firstIndex = r.nextInt(i); //zufaellige Zahl zwischen [0 und i-1]
			Person tmp = array[i-1];
			array[i-1] = array[firstIndex];
			array[firstIndex] = tmp;
		}
	}

Dann noch eine simple Klasse
Java:
class Person{
	private String name,firstname;

	public Person(String firstname, String name) {
		this.firstname= firstname;
		this.name =name;
	}

//getter + setter ...

	@Override
	public String toString() {
		return firstname +" "+ name;
	}
}

und dann dein Code etwas abgeändert
Java:
		Scanner sc = new Scanner(System.in);
		System.out.print("Wieviele Leute gibt es?: ");
		int anz_leute = sc.nextInt();

		Person[] personen = new Person[anz_leute];

		for (int i = 0; i < anz_leute; i++) {
			System.out.println("\nPerson" + (i + 1));
			System.out.print("Vorname: ");
			String vorname = sc.next();
			System.out.print("Nachname: ");
			String name = sc.next();
			personen[i] = new Person(vorname,name);

		}
		shuffle(personen); //Personen durchgemischt :)
		//TODO: gruppen bilden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Pattern für Benutzer-Gruppen, RMI Allgemeine Java-Themen 5
D Wie werden Regex-Gruppen kompiliert? Allgemeine Java-Themen 2
T Regular Expression mit n Gruppen Allgemeine Java-Themen 6
flashfactor Java und Windows seine Lokalen Gruppen incl. AD Allgemeine Java-Themen 4
Zrebna Testkonzept erstellen - Verständnisschwierigkeiten Allgemeine Java-Themen 6
dokan wie kann ich eine funktionierende Suchleiste erstellen Allgemeine Java-Themen 1
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
berserkerdq2 SceneBuilder GUI erstellt, nun muss ich noch ein Polygon erstellen, ist die Connection möglich? Allgemeine Java-Themen 3
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
D Open Source Library zum erstellen von PDFs Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
J Power Point erstellen inklusive Diagramm Allgemeine Java-Themen 12
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
N Tree erstellen Allgemeine Java-Themen 8
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
berserkerdq2 Kann keine Labels erstellen, was ist hier syntaktisch falsch Allgemeine Java-Themen 5
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Trace-Tabelle erstellen Allgemeine Java-Themen 3
M Excel Datei Erstellen Allgemeine Java-Themen 2
OnDemand Erstellen von Quartz Jobs pro Aufgabe oder zusammenfassen Allgemeine Java-Themen 7
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
R Geometry erstellen die abhängig von Variablen ist Allgemeine Java-Themen 6
Gaudimagspam Skip Liste erstellen in Java Allgemeine Java-Themen 3
Avalon DTO aus mehrere Entitäten erstellen Allgemeine Java-Themen 5
Kirby.exe Distanz Map für die Distanztransformation erstellen Allgemeine Java-Themen 1
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
M Registry Autostart Eintrag mit Java erstellen (über Windows cmd) Allgemeine Java-Themen 7
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
B Datei/Ordner auf Server zugreifen/erstellen Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Rectangle mit Java erstellen? Allgemeine Java-Themen 9
G Fläche erstellen mit Entfernungen Allgemeine Java-Themen 1
E Eigenen "Aufzählungstyp" erstellen - mit enum ? Allgemeine Java-Themen 18
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
B Rangliste erstellen Allgemeine Java-Themen 13
D 2,3-Baum rekursiv erstellen Allgemeine Java-Themen 20
D Datentypen 2-3 Baum erstellen mit geordnetem int-array Allgemeine Java-Themen 0
L SQL Datei in Eclipse erstellen Allgemeine Java-Themen 3
J Datenstruktur für eine Map erstellen Allgemeine Java-Themen 2
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
E Ts3API Subchannel erstellen und rein moven !! Allgemeine Java-Themen 0
J Eigene Api erstellen und dann auch verwenden - Ordnerstruktur Allgemeine Java-Themen 1
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
T 2D-Grafik Chart als Image erstellen Allgemeine Java-Themen 3
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
S Compiler-Fehler IntelliJ Projektdatei lässt sich nicht erstellen. Allgemeine Java-Themen 15
M 2D Array mit unterschiedlichen Längen erstellen und befüllen Allgemeine Java-Themen 11
E Swing Buttons auf knopfdruck(anderer Button) erstellen Allgemeine Java-Themen 6
S TestNG Eclipse: Reporting erstellen/ verändern Allgemeine Java-Themen 0
F .jar erstellen und starten Allgemeine Java-Themen 15
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
N 1000 MQTT Messages die Sekunde - 1000 Threads erstellen ? Allgemeine Java-Themen 10
Tommy Nightmare Klassen Globale Klassen erstellen Allgemeine Java-Themen 7
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
T 32-Bit Applikationen mit Eclipse erstellen Allgemeine Java-Themen 4
R Input/Output RTF erstellen? Allgemeine Java-Themen 2
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
S Klassen Klassen "virtuell" erstellen Allgemeine Java-Themen 5
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
M Dokument erstellen Allgemeine Java-Themen 0
S Java API für GitHub erstellen Allgemeine Java-Themen 14
T Ant Jar Datei per Ant in Eclipse erstellen Allgemeine Java-Themen 2
4a61766120617274697374 Hintergrundjobs(tasks) in Java erstellen Allgemeine Java-Themen 3
K Eigene API erstellen? Allgemeine Java-Themen 13
N Benutzeroberfläche erstellen Allgemeine Java-Themen 5
Thallius Eigenes Message Center erstellen Allgemeine Java-Themen 3
perlenfischer1984 Mehrere Komponenten erstellen Allgemeine Java-Themen 3
B jni - Headerdatei erstellen Allgemeine Java-Themen 3
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
B automatisch benannte arrays erstellen Allgemeine Java-Themen 9
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
M Textfile erstellen Allgemeine Java-Themen 11
L Wie kann ich einen Keystore aus existierenden Zertifikaten erstellen? Allgemeine Java-Themen 1
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
D Ordner auf Desktop erstellen(Pc unabhängig) Allgemeine Java-Themen 5
T Dll erstellen und einbinden Allgemeine Java-Themen 1
M Exceltabelle in Java erstellen und Werte einlesen Allgemeine Java-Themen 32
P Eigenstehende *.exe Datei erstellen Allgemeine Java-Themen 15
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
B MySQL Eintrag erstellen Allgemeine Java-Themen 3
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
M Zwei unterschiedliche JAR Dateien mit ANT erstellen Allgemeine Java-Themen 8
3 Backup von h2-Datenbank-Datei erstellen Allgemeine Java-Themen 6
S ImageMap erstellen Allgemeine Java-Themen 1
A Spielemap erstellen Allgemeine Java-Themen 2
F URI Schema in Linux erstellen? Allgemeine Java-Themen 3
P Matrix erstellen Allgemeine Java-Themen 1
C Ein Array mit der Größe von 1 KB erstellen Allgemeine Java-Themen 3
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
GianaSisters Apache POI - Hyperlink erstellen Allgemeine Java-Themen 0
Zettelkasten Vektor mit Koordinaten erstellen Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben