Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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?

Geschrieben

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.

Geschrieben

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 :)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...