steve77 Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Hallo Leute, ich möchte mir eine bestimmte Anzahl von Zufallstrings generieren lassen,weiss aber nicht genau wie ich das bewerkstelligen. Zufallszahlen zu generieren ist kein Problem, baer Strings bereiten mir da schon größere Probleme. Kann mir da jemand helfen, vielen dank!!! Die Strings sollten folgendes aussehen haben: 1. String: 299234diejdjcdcn9843984dji49rd 2. String: 3940349ediodke09340edoieodi030 .... usw... Gruß stefan Zitieren
TDM Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Wie wärs mit Zufallszahlen und dann einfach einen MD5-Hash bilden?! Zitieren
steve77 Geschrieben 25. Juni 2008 Autor Geschrieben 25. Juni 2008 Hört sich gut an, hast du eventuell auch ein codetechnisches beispiel für mich? Zitieren
TDM Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Ich denk du weißt wie man Zufallszahlen erzeugt?! MD5 gibt's hier: greenDevNet: MD5-Hash in Java Zitieren
steve77 Geschrieben 25. Juni 2008 Autor Geschrieben 25. Juni 2008 Die Zufallszahlen generiere ich, wie folgt: public static void generateRandomString(){ Random randomNumbergenerator; randomNumbergenerator = new Random(); int bereich = 1254734323; int anzahl = 10; for(int i=1234; i<=anzahl ; i++) { int index = randomNumbergenerator.nextInt(); System.out.println(index); } } public static void getRandomNumber(int anzahl, int bereich) { Random randomgenerator; randomgenerator = new Random(); for(int i=1; i<=anzahl; i++) { int index = randomgenerator.nextInt(bereich); System.out.println(index); } } Die Ausgabe ist folgende: 1 5 7 3 9 7 ... Ich brauche aber längere Zahlen! 12345434 54543433 34343433 .... Wie kann ich das am besten bewerkstelligen? Zitieren
TDM Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Zahl.ToString und damit die Funktion aus dem Link aufrufen. Edit: Oder einfach den Bereich erweitern. :floet: Zitieren
HJST1979 Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Andere Idee du generierst dir eine Zufallszahl zwischen 1 und 36 und nimmst die "BuchstabenPosition" aus dem Alphabet 1 = A 2 = B 3 = C 4 = D 27 = 1 Und gleich um die Frage zu töten 36 deshalb weil ich die Zahlen 0 - 9 mitgenommen habe. Zitieren
kingofbrain Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Servus, einfacher sollte es mit der Klasse java.util.UUID (Java 1.5) gehen. Peter Zitieren
dr.dimitri Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Crosspost: Zufalls String erzeugen - Entwickler-Forum Dim Zitieren
Nerazul Geschrieben 1. Juli 2008 Geschrieben 1. Juli 2008 servus leute wie der zufall es will habe ich vor einiger Zeit eine Klasse geschrieben welche genau das gefragte tut.. Nämlich Zufallsstrings einer beliebigen Länge bestehend aus Zahlen, Groß- und Kleinbuchstaben generieren.. hier mal der Code: import java.util.Random; public class dng { //Konstanten zum definieren ob eine Zahl, ein Großbuchstabe oder ein Kleinbuchstabe erzeugt wird private final static int ZAHLEN = 1; private final static int UPCASE = 2; private final static int LOWCASE = 3; //Anfang und Ende der Zahlen in der ASCII-Tabelle private final static int ZAHLENSTART = 48; private final static int ZAHLENENDE = 57; //Anfang und Ende der Großbuchstaben in der ASCII-Tabelle private final static int UPCASESTART = 65; private final static int UPCASEENDE = 90; //Anfang und Ende der Kleinbuchstaben in der ASCII-Tabelle private final static int LOWCASESTART = 97; private final static int LOWCASEENDE = 122; //Methode zum generieren des Zufallsstrings; Benötigt die gewünschte Länge des Strings public static String generate(int length){ String result = ""; char temp = ' '; int choose; int start; int end; Random gen = new Random(); for(int i = 0; i < length; i++){ //Erzeugen einer "Zufallszahl" zwischen 1 und 3 choose = gen.nextInt(3) + 1; //Entscheidung ob Zahl, Großbuchstabe oder Kleinbuchstabe erzeugt werden soll if(choose == ZAHLEN){ start = ZAHLENSTART; end = ZAHLENENDE - ZAHLENSTART + 1; }else if(choose == UPCASE){ start = UPCASESTART; end = UPCASEENDE - UPCASESTART + 1; }else if(choose == LOWCASE){ start = LOWCASESTART; end = LOWCASEENDE - LOWCASESTART + 1; }else{ return "Fehler!"; } //Erzeugen einer "Zufallszahl" choose = gen.nextInt(end); //Verschieben der Zufallszahl in den vorher festgelegten Wertebereich //der Zahlen, Großbuchstaben und Kleinbuchstaben, sowie gleichzeitiges //casten zu char temp = (char)(choose + start); //Der zufällig erzeugte Char wird an den Zufallsstring angefügt result += temp; } return result; } } Ich hoffe mal das hilft Habs auch nochmal schnell kommentiert, damit es wenigstens halbwegs verständlich ist Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.