Zufällige Wörter in Java generieren?

7

Ich habe ein Programm geschrieben, das Wörter sortieren und Anagramme bestimmen kann. Ich möchte ein Array von zufälligen Zeichenfolgen generieren, damit ich die Laufzeit meiner Methode testen kann.

%Vor%

(Methodenstub)

Ich möchte nur Kleinbuchstaben der Länge 1-10. Ich las etwas über das Erzeugen von Zufallszahlen, dann Casting oder ähnliches, aber ich verstand es nicht vollständig. Wenn mir jemand zeigen kann, wie man zufällige Wörter erzeugt, sollte ich einfach in der Lage sein, eine for-Schleife zu verwenden, um die Wörter in das Array einzufügen. Danke!

    
Mr_CryptoPrime 10.02.2011, 00:05
quelle

6 Antworten

16

Benötigen Sie tatsächliche englische Wörter oder nur zufällige Zeichenfolgen, die nur Buchstaben a-z enthalten?

Wenn Sie englische Wörter benötigen, können Sie nur ein Wörterbuch verwenden und Wörter daraus zufällig auswählen.

Wenn Sie keine englischen Wörter benötigen, dann tun Sie so:

%Vor%     
David Yaw 10.02.2011, 00:17
quelle
9

RandomStringUtils aus commons-lang

    
Aravind R. Yarram 10.02.2011 00:13
quelle
3

Wenn Sie zufällige Wörter mit einer bestimmten Länge erzeugen möchten, benötigen Sie entweder einen Algorithmus, um zu bestimmen, ob eine gegebene Zeichenfolge ein Wort (hart) ist, oder einen Zugriff auf eine Wortliste aller Wörter in einer bestimmten Sprache ( einfach). Wenn es hilft, hier ist eine Liste aller Wörter im Scrabble-Wörterbuch .

Sobald Sie eine Liste aller Wörter in einer Sprache haben, können Sie diese Wörter in eine ArrayList oder eine andere lineare Struktur laden. Sie können dann einen zufälligen Index in diese Liste erzeugen, um das zufällige Wort zu erhalten.

    
templatetypedef 10.02.2011 00:13
quelle
1

Warum zufällige Wörter erzeugen? Wenn Sie einige Wörterbücher verwenden können.

    
Yanick Rochon 10.02.2011 00:11
quelle
1

Wenn Sie zufällige Wörter wollen, ohne ein Wörterbuch zu benutzen ...

  1. Erstellen Sie eine Liste aller Buchstaben, die Sie in Ihren Worten verwenden möchten
  2. Erstellen Sie einen zufälligen Index, um einen Buchstaben aus der Liste auszuwählen
  3. Wiederholen Sie den Vorgang, bis Sie die gewünschte Wortlänge erreicht haben

Wiederholen Sie diese Schritte für die Anzahl der Wörter, die Sie generieren möchten.

    
K.U. 10.02.2011 00:13
quelle
1

Sie können diese Methode für jedes Wort aufrufen, das Sie generieren möchten. Beachten Sie, dass die Wahrscheinlichkeit, Anagramme zu generieren, relativ gering sein sollte.

%Vor%     
Argote 10.02.2011 00:13
quelle

Tags und Links