Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Zufällige Zahl in Java

Achmed / 5 Antworten / Baumansicht Nickles

Servus Leutz!
Ich such ne Möglichkeit um eine zufällige Zahl zw. 1 und 9 auszugeben.
Es sollte jedes mal ne andere sein.


Mfg Achmed

Immer dran denken:Lebbe isch hart! Lieber heimlich schlau, als unheimlich blöd!
bei Antwort benachrichtigen
thomas woelfer Achmed „Zufällige Zahl in Java“
Optionen

wie waeres mit der "Random" Klasse... ?

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
Achmed thomas woelfer „wie waeres mit der Random Klasse... ? WM_HOPETHISHELPS “
Optionen

Cool, danke.
Habs nich so mit JAVA


Mfg Achmed

Immer dran denken:Lebbe isch hart! Lieber heimlich schlau, als unheimlich blöd!
bei Antwort benachrichtigen
out-freyn Achmed „Zufällige Zahl in Java“
Optionen
Es sollte jedes mal ne andere sein.

Dann ist's aber keine echte Zufallszahl, sondern lediglich eine zufällige Anordnung der Zahlen 1 bis 9 - oder hab' ich da was falsch verstanden?
The conspiracy theory of society [...] comes from abandoning God and then asking: »Who is in his place?« (Sir Karl Popper, Conjectures and Refutations, 1963)
bei Antwort benachrichtigen
Herman Munster out-freyn „Es sollte jedes mal ne andere sein. Dann ist s aber keine echte Zufallszahl,...“
Optionen

Wie wäre es mit der Einerstelle der jeweiligen Sekundenzahl der aktuellken Uhrzeit? Das wäre, wenn nur eine Ziffer gewünscht ist, SEHR viel näher dran am Zufall als irgend eine Berechnung einer "zufälligen" Zahl. Oder, wenn ein sekündlicher Abstand zu grob ist, die Zehntel- oder Hundertstel Sekunden.

Im übrigen ist eine vom einem Computerprogramm ausgegebene Zahl NIEMALS!!! im menschlichen Sinne wirklich zufällig! Weil immer das Rechenergebnis einer mathematischen Formel. Bis auf unabsehbare Zeit wird sich daran auch nichts ändern, mag der Aufwand mit Quantenkryptographie und ähnlichem Kladderadatsch zu ihrer Ermittlung auch noch so groß sein. Außerdem kommen dann noch die unvermeidlichen Programmierfehler hinzu und/oder Unzulänglichkeiten der mathematischen Formel, die sich ggf. dahin auswirken könnten, daß Ziffern aus einem bestimmten Nummernbereich häufiger sind als andere.

Wie vor ein paar Jahren der Keks mit dem Programm zur Ermittlung von ec-Scheckkarten-PINs (die 4stelligen "Geheimnummern", die man in die Geldautomaten usw. eintippen muß). Da durfte dieses Programm mal wieder nichts kosten und das Programm, das man dann bekam, hatte einen Fehler in der Programmierung, der sich dahingehend auswirkte, daß die Nummern, die mit einer 2 begannen, etwa 4-5mal so häufig vorkamen wie die mit den anderern Ziffern beginnenden PINs. Somit wurden denn auch eine entsprechend hohe Anzahl von Kunden (oder besser "Opfer"...?) mit solchen 2er PINs ausgerüstet.

Resultat als das herauskam: in der Stadt wurde plötzlich massenweise ec´s geklaut und die, die eine PIN beginnend mit einer 2 hatten, wurden extrem häufig geknackt und die Konten leergeräumt. Die Sparkasse, die das Fiasko verursacht hatte, war NATÜRLICH schuldlos. Wie denn auch: ´s waren ja MAL WIEDER NUR Einzelfälle. Gleich ein paar Tausend auf einmal, aber alles Einzelfälle... Wenn ich mich an den Bericht im ARD Ratgeber Geld recht erinnere, war die Rückerstattung auf einmal gar kein Problem mehr, als ein Mitarbeiter des CCC vorführte, wie leicht es sei, diese 2er-Pins zu ermitteln (es waren ja nur noch 3 Ziffern zu ermitteln, da gibt es um Größenordnungen weniger Möglichkeiten als bei 4 Ziffern).

bei Antwort benachrichtigen
Borlander Herman Munster „Wie wäre es mit der Einerstelle der jeweiligen Sekundenzahl der aktuellken...“
Optionen
Wie wäre es mit der Einerstelle der jeweiligen Sekundenzahl der aktuellken Uhrzeit? Das wäre, wenn nur eine Ziffer gewünscht ist, SEHR viel näher dran am Zufall als irgend eine Berechnung einer "zufälligen" Zahl.
Den aktuellen Zeitpunkt als initialisierungswert von Zufallsgeneratoren zu verwenden ist eigentlich gängige Methode...

Probleme könnten hier allerdings auftauchen wenn mehrere Zufallszahlen hintereinander generiert werden - die Zeitauflösung der Computeruhr ist auch nur im Bereich von Millisekunden...


Im übrigen ist eine vom einem Computerprogramm ausgegebene Zahl NIEMALS [...] wirklich zufällig! [...] Bis auf unabsehbare Zeit wird sich daran auch nichts ändern, mag der Aufwand mit Quantenkryptographie und ähnlichem Kladderadatsch zu ihrer Ermittlung auch noch so groß sein.
Mit einem Quantencomputer (wenn man denn mal einen hat) kann man echte Zufallszahlen erzeugen :-)

und/oder Unzulänglichkeiten der mathematischen Formel, die sich ggf. dahin auswirken könnten, daß Ziffern aus einem bestimmten Nummernbereich häufiger sind als andere.
Ein nicht gleichverteiltes Auftreten dürfte bei einer gescheiten Implementation eines Zufallsgeneratore nicht auftreten...


Gruß
Borlander
bei Antwort benachrichtigen