Trotz Abfrage immer noch Zahlen doppelt

Status
Nicht offen für weitere Antworten.

Griffin

Bekanntes Mitglied
Ich fülle mein Array mit Zufallszahlen, dabei ist es wichtig, dass jede Zufallszahl nur einmal dran kommt. Nun hab ich, mit Hilfe von einigen Personen aus diesem Forum folgenden Kontrollmechanismus erstellt:
Code:
//Die Methode holeZZ() generiert eine Zufallszahl
for (int i = 0; i < intgesam.length; i++) {
	intgesam[i] = holeZZ(); // A
	for (int j = 0; j < intgesam.length; j++) {
		if (intgesam[i] == intgesam[j] && i != j) { // B
			intgesam[i] = holeZZ(); // C
			j = 0; // D
		}
	}
}
So. Jetzt prüft er jede generierte Zahl die bei A entsteht unter B. Falls die Zahl doppelt ist wird eine neue erstellt (C) und die Suche wird von neu gestartet (D).
So weit so gut. Doch da ist ein kleiner Fehler drin, sodass es trotzdem zu doppelten Zahlen kommt. Wenn man nun 20 Zahlen generiert die jewals von 1-20 reichen, müsste jede Zahl nur einmal vorkommen. Leider kommt bei 10 maligem Aufrufen dieses Algorithmus mindestens 50% mit doppelten Zahlen.
Aber wenn ich um die innere Schleife noch eine Schleife bis ca 5 laufen lasse, habe ich keine doppelten Werte mehr. Aber dafür auch mehr rechen Arbeit, die ich gerne vermeiden würde.
 

meez

Top Contributor
Das resultiert darus, dass du beim zweiten hohleZZ keine Ueberprüfung mehr stattfindet...
 

foobar

Top Contributor
ich würde das so machen:
Code:
import java.util.*;

public class RandomNumberGenerator
{
	private int amount;
	private final static byte MAX = 20;
	public RandomNumberGenerator(int amount)
	{
		this.amount = amount;
	}
	
	public HashSet getRandomNumbers()
	{
		HashSet numbers = new HashSet();
		Random rand = new Random();
		
		for (int i =0; i <= amount; i++)
		{
			while ( numbers.add(new Integer( rand.nextInt(RandomNumberGenerator.MAX))))
			{
				numbers.add(new Integer( rand.nextInt(RandomNumberGenerator.MAX)));
			}
		}
		return numbers;
	}
	
	public static void main(String[] args)
	{
		Iterator it = new RandomNumberGenerator(20).getRandomNumbers().iterator();		
		while (it.hasNext())
		{
			System.out.println( it.next() );
		}
	}
}
 

Griffin

Bekanntes Mitglied
@ meez
Das j = 0 bewirkt die überprüfung für die neue Zahl.

@foobar

Danke für den Code. Ich schau mal wie ich ihn einbinden kann.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R windowclosing - fenster schließt immer trotz abfrage Java Basics - Anfänger-Themen 2
O Downloaden: Trotz If Abfrage wird Datei heruntergeladen Java Basics - Anfänger-Themen 2
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Breite von Textfeldern trotz Layoutmanager Java Basics - Anfänger-Themen 4
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
tun3d Packet trotz richtiger Addressierung nicht auffindbar? Java Basics - Anfänger-Themen 10
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
Kotelettklopfer Output korrekt trotz falschem Lösungsweg !? Java Basics - Anfänger-Themen 99
P NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap trotz vorhandener Klasse? Java Basics - Anfänger-Themen 10
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J bundel - Datei wird nicht gefunden. Trotz STRG-SHIFT-J Java Basics - Anfänger-Themen 2
U UnsupportedClassVersionError trotz neuster JRE und JDK Version Java Basics - Anfänger-Themen 7
J Unterschiedliche Ordnerstrukturen trotz gleicher Entwicklungsumgebungen Java Basics - Anfänger-Themen 3
M java.io.FileNotFoundException trotz dass Verzeichnis korrekt angegeben ist! Java Basics - Anfänger-Themen 20
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
L Methoden if Bedingung trotz Erfüllung, nicht angesprochen Java Basics - Anfänger-Themen 12
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
C Threads SwingWorker läuft trotz cancel weiter Java Basics - Anfänger-Themen 22
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
D javac kann trotz PATH-Eintrag nicht gefunden werden (Hello World) Java Basics - Anfänger-Themen 10
P Threads Trotz Threads wird nur 1 Prozessorkern ausgelastet Java Basics - Anfänger-Themen 7
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
X Array trotz Befüllung "null" Java Basics - Anfänger-Themen 11
M Arrayfelder werden trotz Beschränkung unbeschrenkt ausgegeben Java Basics - Anfänger-Themen 2
Fab1 alte Java Datei wird ausgeführt (trotz Änderung) Java Basics - Anfänger-Themen 4
M Datentypbewahrung trotz Erbung Java Basics - Anfänger-Themen 12
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Input/Output EOF-Exception trotz Fehlerüberprüfung Java Basics - Anfänger-Themen 2
U Übersicht trotz mehrdimensionaler Arraylisten Java Basics - Anfänger-Themen 17
S Java Heap space trotz -Xmx1024 Java Basics - Anfänger-Themen 10
J trotz Error weitermachen Java Basics - Anfänger-Themen 4
V Kein neuer Thread trotz Runnable Java Basics - Anfänger-Themen 4
X JFrame als JAR unsichtbar trotz Exception Handling Java Basics - Anfänger-Themen 5
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
L Polymorphie <identifier> expected trotz "Angabe" Java Basics - Anfänger-Themen 2
O ausgabe spinnt trotz erfolgreichem kompilieren Java Basics - Anfänger-Themen 2
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
X dll löschen trotz zugriff durch java programm Java Basics - Anfänger-Themen 5
U if-Anweisung trotz Division/0 Java Basics - Anfänger-Themen 6
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
D Ein boolean[] Array größer als 63.000.000 erstellen? trotz -Xms und -Xmx.... Java Basics - Anfänger-Themen 7
Q Listen - DefaultListModel trotz Design ueber GUI? Java Basics - Anfänger-Themen 10
A Trotz Thread ist Program nicht erreichbar Java Basics - Anfänger-Themen 3
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
A kein zugriff auf variable trotz public? Java Basics - Anfänger-Themen 3
D nicht genug speicher - profiling trotz error Java Basics - Anfänger-Themen 5
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
J Spielfigur wird trotz erfolgreich aufgerufener Methode nicht Java Basics - Anfänger-Themen 22
H javac Befehl trotz Variablen einbindung ned gefunden Java Basics - Anfänger-Themen 23
C Trotz "synchronized" unerwartete Ausgabe Java Basics - Anfänger-Themen 2
K Midi stoppt trotz stop button nicht Java Basics - Anfänger-Themen 3
C Thread läuft und läuft, trotz interrupt() Java Basics - Anfänger-Themen 9
T laagen trotz Double-Buffering Java Basics - Anfänger-Themen 5
S ClassNotFoundException trotz JAR Einbindung in Eclipse Java Basics - Anfänger-Themen 2
T tooltip trotz gedrückter maustaste Java Basics - Anfänger-Themen 2
0 NoSuchMethodError: main trotz vorhandener Main Methode? Java Basics - Anfänger-Themen 9
Silver-Blue mehrere Instanzen einer Klasse, trotz Random immer das Selbe Java Basics - Anfänger-Themen 7
X trotz gleicher variablen nicht equal Java Basics - Anfänger-Themen 5
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 11
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
L If Abfrage Java Basics - Anfänger-Themen 4
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
W if-Abfrage bei ArrayList-Methodenaufrufen - Wie löse ich das? Java Basics - Anfänger-Themen 6
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
P Amazon SQS abfrage Java Basics - Anfänger-Themen 1
Marlena Bauer IBAN generieren (Deutschland) aus Abfrage von BLZ und Kontonummer? Java Basics - Anfänger-Themen 31
M Abfrage j/n und Bildschirm löschen Java Basics - Anfänger-Themen 3
S Und-Abfrage mit mehreren Ungleich-Operatoren Java Basics - Anfänger-Themen 17
O if Abfrage erkennt String nicht Java Basics - Anfänger-Themen 1
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
N Bedinugng If-Abfrage wird nie erfüllt Java Basics - Anfänger-Themen 4
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
Y Methoden Wie kann ich eine if-Abfrage bei Setters bauen? Java Basics - Anfänger-Themen 6
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
F If Abfrage gibt falsches Ergebnis.... Java Basics - Anfänger-Themen 6
F POST-Request mit json - Abfrage mit Java Java Basics - Anfänger-Themen 2
C Javafunktion zur Abfrage eines Quellcodes Java Basics - Anfänger-Themen 15
A JOPtionPaneOptionDialog Abfrage welcher Button gedrückt wurde? Java Basics - Anfänger-Themen 8
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
G if Abfrage: Nicht jeder Fall berücksichtigt Java Basics - Anfänger-Themen 2
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
S If Abfrage nur mit bestimmter Initialisierung? Java Basics - Anfänger-Themen 8
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
S Backspace Abfrage funktioniert nicht Java Basics - Anfänger-Themen 4
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
G Passwort und Passwort wiederholen in if-Abfrage vergleichen Java Basics - Anfänger-Themen 15
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
N Methoden Attribut Abfrage eines anderen Objektes Java Basics - Anfänger-Themen 36

Ähnliche Java Themen

Neue Themen


Oben