Zufallszeichengenerator mit einem Bereich von (A..Z, 0..9) und Interpunktion

8

Ich muss einen zufälligen Zeichengenerator erstellen, der ein einzelnes Zeichen zurückgibt. Das Zeichen sollte in den Buchstaben des Alphabets, Ziffern 0 bis 9, und einigen Zeichen wie.? / - liegen. Jedes Beispiel würde geschätzt werden.

    
jadkins4 24.06.2010, 23:19
quelle

9 Antworten

34

Am einfachsten ist Folgendes:

  • Erstellen Sie ein String alphabet mit den gewünschten Zeichen.
  • Sagen Sie N = alphabet.length()
  • Dann können wir ein java.util.Random für ein < a href="http://java.sun.com/javase/6/docs/api/java/util/Random.html#nextInt%28int%29"> int x = nextInt(N)
  • alphabet.charAt(x) ist ein zufälliges Zeichen aus dem Alphabet

Hier ist ein Beispiel:

%Vor%     
polygenelubricants 25.06.2010 12:56
quelle
9

Siehe Link unten: Ссылка

%Vor%

Jetzt können Sie ein Zeichen gleichzeitig erzeugen.

    
duggu 24.12.2012 12:33
quelle
5
  1. Wählen Sie eine Zufallszahl zwischen [0, x], wobei x die Anzahl der verschiedenen Symbole ist. Hoffentlich ist die Wahl einheitlich gewählt und nicht vorhersehbar: -)

  2. Wählen Sie nun das Symbol für x.

  3. Gewinn!

Ich würde anfangen, Pseudozufalligkeit und dann einige allgemeine Pseudozufallszahlengeneratoren . Natürlich hat Ihre Sprache hoffentlich schon eine passende "zufällige" Funktion: -)

    
user166390 24.06.2010 23:26
quelle
3

Hier ist Code für sichere, einfache, aber etwas teurere Sitzungskennungen.

%Vor%     
sanssan 10.01.2012 13:35
quelle
2

Warum erfinde ich das Rad neu? RandomStringUtils von Apache Commons verfügt über Funktionen, mit denen Sie den Zeichensatz angeben können, aus dem Zeichen generiert werden. Sie können nehmen, was Sie zu Ihrer App benötigen:

Ссылка

    
Danubian Sailor 17.01.2012 21:12
quelle
1

Verwenden einer einfachen Befehlszeile (bash scripting):

%Vor%
  • cat / dev / urandom: Erhalte einen zufälligen char-Stream vom Kernel
  • tr: Behalte nur Char Char, das wir wollen
  • head: Nimm nur die ersten n chars
  • xargs: nur um '\n' char
  • hinzuzufügen
Nicolas Viennot 24.06.2010 23:35
quelle
0
%Vor%

Ich denke, es hängt davon ab, welche Interpunktion Sie einfügen möchten, aber dies sollte ein zufälliges Zeichen erzeugen, das alle Interpunktionszeichen in dieser ASCII-Tabelle enthält. Im Grunde habe ich ein zufälliges int von 32 - 96 oder 123 - 126 erzeugt, das ich dann zu einem char gegossen habe, das das ASCII-Äquivalent dieser Zahl gibt. Stellen Sie außerdem sicher, dass Sie import java.util.Random

haben     
Ben Patterson 27.11.2015 10:40
quelle
0

Sie sollten zuerst einen String erstellen, der alle gewünschten Buchstaben / Zahlen enthält.
Dann mach einen Zufall. e. G. Random rnd = new Random;
Schließlich, machen Sie etwas, das tatsächlich ein zufälliges Zeichen von Ihrem String erhält, der Ihr Alphabet enthält Zum Beispiel

%Vor%

Siehe dies .
Dorthin habe ich diese Informationen bekommen.

    
user8742736 05.11.2017 19:16
quelle
0

zufälliges Zeichen              Paket com.company;

%Vor%     
ahmad apandi 12.11.2017 08:06
quelle

Tags und Links