___ answer6625611 ___
Könnten Sie das versuchen,
%Vor%
___ answer6626255 ___
Sie scheinen eine sich nicht wiederholende Zufallszahl von 0 bis 6 zu haben, ähnlich der Antwort von tsukuzzy:
%Vor%
Es werden die Zahlen 0 bis 6 in zufälliger Reihenfolge zurückgegeben. Wenn jede einmal gezeichnet wurde, wird sie erneut gestartet.
___ answer6625690 ___
Es gibt verschiedene Möglichkeiten, dies zu erreichen.
Lösung A:
Wenn der Zahlenbereich nicht groß ist (sagen wir weniger als 10), können Sie einfach die Zahlen verfolgen, die Sie bereits generiert haben. Dann, wenn Sie ein Duplikat erzeugen, verwerfen Sie es und erzeugen Sie eine andere Nummer.
Lösung B:
Erzeugen Sie die Zufallszahlen vor, speichern Sie sie in einem Array und gehen Sie dann durch das Array. Sie können dies erreichen, indem Sie die Zahlen %code% nehmen und sie dann mischen. Siehe Ссылка
%Vor%
Lösung C:
Verfolgen Sie die Nummern, die in einem Array verfügbar sind. Wähle zufällig eine Nummer. Entferne die Nummer aus dem Array.
%Vor%
___ qstnhdr ___ mathematische Zufallszahl ohne Wiederholung einer vorherigen Zahl
___ answer6625615 ___
Im Allgemeinen besteht mein Ansatz darin, ein Array zu erstellen, das alle möglichen Werte enthält und zu:
- Wählen Sie eine Zufallszahl & lt; = die Größe des Arrays
- Entfernen Sie das ausgewählte Element aus dem Array
- Wiederholen Sie die Schritte 1-2, bis das Array leer ist
Die resultierende Menge von Zahlen enthält alle Ihre Indizes ohne Wiederholung.
Noch besser, vielleicht so etwas:
%Vor%
Dann gehen Sie einfach durch die Elemente, weil shuffle sie randomisiert hat und sie einzeln nacheinander ausgibt.
___ answer18510570 ___
Hier ist eine einfache Lösung, wenn auch etwas rudimentär:
%Vor%
Wenn die nächste Zahl die gleiche ist wie die letzte, einfach minus 1, es sei denn, die Zahl ist 0 (Null) und auf eine andere Zahl innerhalb der Menge gesetzt (ich wählte 7, den höchsten Index).
Ich habe diese Methode in der Zyklusfunktion verwendet, weil die einzige Bedingung für die Auswahl einer Zahl war, dass sie nicht die gleiche sein sollte wie die letzte.
Nicht die eleganteste oder technisch begabteste Lösung, aber es funktioniert:)
___ qstntxt ___
Ich kann keine Antwort darauf finden, sage ich habe das:
%Vor%
Wie mache ich es so, dass sich die Zufallszahl nicht wiederholt? Wenn zum Beispiel die Zufallszahl 2 ist, möchte ich nicht, dass 2 wieder herauskommt.
___ answer17645854 ___
nicht sicher, ob es zu spät ist, aber würde immer noch gerne hinzufügen -
%Vor%
verwendet im Prinzip Zeitstempel (jede Millisekunde), um immer eine eindeutige Nummer zu erzeugen.
___ answer6625883 ___
Ich mag Neals Antwort, obwohl diese um eine Rekursion bettelt. Hier ist es in Java, Sie werden immer noch die allgemeine Idee bekommen. Beachte, dass du eine Endlosschleife triffst, wenn du mehr Zahlen als MAX herausziehst, hätte ich das korrigieren können, aber es aus Gründen der Klarheit belassen.
edit: Säge Neal hinzugefügt eine While-Schleife, so dass funktioniert gut.
%Vor%
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script).
___ tag123random ___ Dieses Tag ist für Fragen gedacht, die sich auf Zufallszahlen und deren Generatoren beziehen, sei es pseudozufällig oder wirklich zufällig.
___ tag123repetition ___ hilf uns dieses Wiki zu bearbeiten
___ antwort6625584 ___
Sie können dies tun. Verwenden Sie ein öffentliches Array von Schlüsseln, die Sie verwendet haben, und überprüfen Sie sie mit dieser Funktion:
%Vor%
(Funktion von: JavaScript-Funktion inArray )
Was Sie also tun können, ist:
%Vor%
Dieser Code wird nach dem Erhalten aller sieben Zahlen stecken bleiben, so dass Sie sicherstellen müssen, dass er existiert, nachdem er alle flossen hat.
___