Generieren Zufallsdaten aus CSV dateien

Leno

Bekanntes Mitglied
Hallo liebes Forum,

ich habe eine Problem und möchte mich hier an die erfahrenen Programmierer wenden.
Es geht um folgendes ich habe z.B. eine CSV Datei die sieht z.B. so aus :

Name Vorname

Thomas Müller
Mattthias Rabe
Ulrike Stein
Klaus Möller
....
....
.....

usw... sehr viele Daten halt eben. Ich möchte zufallsnamens Kombinationen erzugen also z.B. Ulrike Möller , Klaus Rabe etc.... . Meine Idee war dabei zuerst die Daten nach Frau und Mann zu trennen und dann in seperaten txt. Dateien auf dem Rechner Lokal zu speichern z.B. c://mann_vorname
und c://frau_vorname, dann soll das Programm die Daten aus diesen txt lesen und in ArrayListen speichern. Diese ArrayListen werden dann gemischt ( ich weiß noch nicht wie ) und dann kombiniert.

Meint Ihr der Ansatz ist Logisch um das Problem zu lösen, oder habt ihr einen besseren Vorschlag, Idee die einfacher ist ?

Ich wäre über jede Hilfe sehr Dankbar
 

Andi_CH

Top Contributor
Hm - du schreibst am Anfang nichts von Männlein und Weiblein, aber wenn das sein muss viel Spass beim aufteilen. Muss wohl von Hand geschehen.
Wenn das so sein muss würde ich gleich drei Dateien generieren - eine mit den Namen, zwei mit den Vornamen.

Dann einfach per Zufallszahl einen Namen und per anderer Zufallszahl einen Vornamen holen und zusammenstellen. (Was natürlich auch stimmt, wenn man alles in einer Datei lässt und nicht geschlechtsspezifisch agiert)

Vorerst tönt das Problem sehr einfach, ausser ich hätte etwas falsch verstanden.
 

Andi_CH

Top Contributor
Das braucht es nicht zwingend - es braucht so oder so zwei zufällige Dateizugriffe um den Namen und den Vornamen zu lesen - ob die auf eine oder zwei Dateien gehen ist kein sehr grosser Unterschied - Bei einer Datei sind es zwei String-Split-Operation mehr.

Wenn aber nach geschlechtspezifischen Vornamen unterschieden werden muss drängt es sich auf Dateien zu bilden.
 

Leno

Bekanntes Mitglied
@Andi_CH : tatsächlich muss ich nach männlein und Weiblein unterscheiden. Dachte daher das ich eine Liste mit Vornamen der Frauen lokal speicher und eine der männer.

dann hatte ich gedacht per auslesen in einen Arry zu speichern z.B. so

Java:
 ArrayList<String> vornameMann = new ArrayList<String>();

	
		try {
			BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\Richard\\Desktop\\vornamen.txt"));
			String zeile = null;
			while ((zeile = in.readLine()) != null) {
				// System.out.println("Gelesene Zeile: " + zeile); nur Informationen 
				
				
				vorname.add(zeile);
			  				
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

und dann müsste ich noch die anderen Daten holen und diese in dem Array mischen und dann zusammenstellen
Also so meine Idee, vielleicht liege ich aber auch total falsch.
 

c_sidi90

Top Contributor
Wozu unterscheiden ob Frau oder Mann ? Jeder Mann kann den Nachnamen einer Frau haben und umgekehrt.

Ich würde es so machen
Java:
package de.sidiropoulos.tutorials;

public class Zufallsnamen {

	
	BufferedReader br;
	FileReader fr;
	ArrayList vornamen; //speichert die vornamen
	ArrayList nachnamen; //siehe oben
	
	
	//konstruktor mit methodenaufruf
	public Zufallsnamen(){
		
		vornamen = new ArrayList();
		nachnamen = new ArrayList();
		readFile("C:/namen.txt");
		getRandomName();
		
	}
	
	
	void getRandomName(){
		
		int vornameIndex = (int)((Math.random() * vornamen.size()-1) + 1); //erstelle eine Zufallszahl die die max. Groesse der Liste hat
		int nachnameIndex = (int)((Math.random() * nachnamen.size()-1) + 1);//siehe oben
		
		//Ausgabe eines Zufallsnamens
		System.out.println(vornamen.get(vornameIndex) + ", " + nachnamen.get(nachnameIndex));
		
	}
	
	//datei einlesen
	void readFile(String path){
		
		String line = null;
		
		try {
			
			fr = new FileReader(path);
			br = new BufferedReader(fr);
			
			while((line=br.readLine())!=null){
					String temp[] = line.split(";"); //speicher die Werte zwischen den ";" in ein Array ; ist standard csv trennzeichen kannst nehmen welches immer du benutzt
					vornamen.add(temp[0]); //Das Array beinhaltet immer 2 Werte(Vor/Nachname) Index 0 = vorname 1 = Nachname
					nachnamen.add(temp[1]); //siehe oben
			}
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	
	public static void main(String[]args){
		
		new Zufallsnamen();
	}
	
	
}
 
Zuletzt bearbeitet:

Leno

Bekanntes Mitglied
Danke dir für den tollen Ansatz, dies wird mir bei meiner Ausarbeitung auf jeden Fall weiterhlefen.
Vielen Dank, da kommen noch weitere Probleme auf mich zu :D

Werde mal weiterbasteln und bei weitere Fragen noch auf euer Fachwissen zurükkommen.Danke
 

c_sidi90

Top Contributor
Gerne, mein Beispiel macht ja schon alles was du in deiener Aufgabenstellung beschrieben hast. Wenn du Fragen hast einfach posten, hier sind genug Nerds die auf der Arbeit nichts zutun haben :lol:
 

Andi_CH

Top Contributor
Du brauchst als drei Datenstrukturen - ob es Files, Array oder was auch immer sind, ist im Moment noch nicht so wichtig.

@c_sidi90 - pfui, die Arbeit macht man doch nicht im Konstruktor! ;-)

Die Frage ist einfach wer sich die Arbeit macht m und w Vornamen zu unterscheiden (ausser die sind im Ursprungsfile als solche gekennzeichnet) ansonsten hast du das Problemchen gelöst.
 

Leno

Bekanntes Mitglied
Tatsächlich ist die Trennung nach männlein und weiblein sehr wichtig, habe ich gerade erst erfahren.

Hier folgende Anforderung bzw. meine Idee


Name , Vorname , Geschlecht

Schneider, Rofl, M
Rudolf , Olaf M
.........


zweite Datei z.B. txt könnte so aussehen

Name , Vorname , Geschlecht

Schneider, Tina , W
Klein , Lisa , W
.....

Weiss aber leider nicht wie ich die Trennung hinbekommen soll, wahrscheinlich muss ich alle Datensätze per Hand sortieren
 

c_sidi90

Top Contributor
Auch für dieses Vorhaben muss man die Namen nicht nach Geschlechtern trennen. Das macht auch kein Sinn wie ich es schon im oberen Post beschrieben habe. Falls die Datei nun doch so modifiziert werden soll, dass Geschlechter angegeben werden, gibt es noch immer eine elegantere Lösung als dieses Rumgehampel mit in verschiedene Dateien schreiben (nicht performant bei größeren Listen).

In diesem Fall musst du dir nur Überlegen, wie du beim Einlesen der Zeilen den letzten Eintrag (m oder w ) in deine Liste speicherst.


Wäre jetzt nicht Samstag und ich leicht betrunken würde ich es dir schnell coden, so bleibt zu hoffen, dass jemand anders dir weiterhilft oder du bis Montag warten kannst ;)

LG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
LimDul Eindeutige ID (ala UUID) generieren als numerisch, maximal 16 Stellen Allgemeine Java-Themen 11
R Farbe zu einem Eckpunkt generieren Allgemeine Java-Themen 0
J Sudoku generieren Schwierigkeitsgrad Allgemeine Java-Themen 3
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
D Mail aus GUI generieren Allgemeine Java-Themen 2
J Primzahlen generieren Allgemeine Java-Themen 6
M Serien- / Werksnummern generieren Allgemeine Java-Themen 7
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
N Zahl mit bestimmter Länge und nur bestimmten Zahlen generieren lassen Allgemeine Java-Themen 7
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
T Geschwindigkeit beim Generieren erhöhen? Allgemeine Java-Themen 7
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
darekkay (JUnit) Testdaten generieren - Framework? Allgemeine Java-Themen 2
N String generieren Allgemeine Java-Themen 3
J Hash aus Verzeichniss generieren Allgemeine Java-Themen 2
Eldorado Barcodes mit statischer Breite generieren Allgemeine Java-Themen 3
M aus 3 BufferedImages 1 generieren Allgemeine Java-Themen 5
E Zufallszahl generieren Allgemeine Java-Themen 5
M Shapes mit abgerundeten Ecken generieren Allgemeine Java-Themen 2
T Zufallszahlen generieren und dabei eine Zahl weglassen Allgemeine Java-Themen 4
S Mittels eines Applets Bilder generieren die in einer Webseite angezeigt werden..? Allgemeine Java-Themen 8
MQue List<String> aus List<Object> generieren Allgemeine Java-Themen 2
V Einfache toString() generieren? Allgemeine Java-Themen 6
O .jar Files - Tools zum generieren Allgemeine Java-Themen 25
B PDF generieren. Problem mit PipedStreams. Allgemeine Java-Themen 4
G UML aus Commandline generieren Allgemeine Java-Themen 9
M nicht gleichverteilte Zufallszahlen generieren Allgemeine Java-Themen 6
B Mit Java Powerpoint Reporte und PDF generieren Allgemeine Java-Themen 9
lumo "Exzessiv" dynamisches generieren Allgemeine Java-Themen 6
B Schlüssel von Java automatisch generieren lassen. Allgemeine Java-Themen 4
T Einfachen Ton in Java generieren Allgemeine Java-Themen 4
B String generieren Allgemeine Java-Themen 4
S Datei aller möglich encodings generieren Allgemeine Java-Themen 2
G Char-zufällig-generieren Allgemeine Java-Themen 11
H RTF zu Word-Dokument generieren Allgemeine Java-Themen 5
B Namen eines Objekts generieren? Allgemeine Java-Themen 4
C Laufende Nummer generieren Allgemeine Java-Themen 4
S Dynamisches Feld generieren. Allgemeine Java-Themen 10
N Transaktionsnummer (Tan) generieren? Allgemeine Java-Themen 5
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
G Dateien lesen Allgemeine Java-Themen 3
OnDemand Unterschiedliche jar Dateien zusammen führen Allgemeine Java-Themen 8
A Sicheres Löschen von Dateien Allgemeine Java-Themen 7
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
L Jar Dateien in Classpath laden ab JDK 9+ Allgemeine Java-Themen 11
d.lumpi JDA eclipse dateien versenden Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
T Meine Frage lautet wie ich 2 CSV Dateien miteinander in Java verbinde und Spalten die zueinander gehören durch den gleichen Key zusammen ausgebe? Allgemeine Java-Themen 5
L Dateien richtig auslesen Allgemeine Java-Themen 6
L Eclipse Runnable Jar mit Dateien Allgemeine Java-Themen 8
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
O jar und EXE Dateien, Pfade zur Laufzeit Allgemeine Java-Themen 1
W Dateien werden nicht gelöscht - warum? Allgemeine Java-Themen 12
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
P Erste Schritte Dateien löschen Allgemeine Java-Themen 4
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5
I Java als exe veröffentlichen inkl. kompletter Dateien Allgemeine Java-Themen 4
M Drucken von Dateien Allgemeine Java-Themen 10
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I Laden von Informationen aus Dateien: Austauschbarkeit: 2 Dateien sinnvoll? Allgemeine Java-Themen 2
N Temporäre Dateien Allgemeine Java-Themen 3
Bluedaishi Druck Probleme mit PDF dateien Allgemeine Java-Themen 4
M Dateien schneller kopieren Allgemeine Java-Themen 1
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
K Große JSON-Dateien schnell und effizient verarbeiten Allgemeine Java-Themen 16
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
V Eclipse .class Dateien Allgemeine Java-Themen 9
B Download von dateien Allgemeine Java-Themen 2
K Nicht alle class-Dateien im JRE? Allgemeine Java-Themen 2
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
C Dateien in Jar aufrufen Allgemeine Java-Themen 14
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
JavaWolf165 Externe .jar-Dateien in .jar-Datei intigrieren Allgemeine Java-Themen 0
X Dateien für Benutzer Sperren Allgemeine Java-Themen 4
D Dateien aus den Internet herunterladen Allgemeine Java-Themen 6
L Methoden Dateien älter als 30 Tage? Allgemeine Java-Themen 11
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
RalleYTN Classpath Native Dateien(DLL, SO, JNILIB) Allgemeine Java-Themen 2
J Java .jar Dateien zusammenführen Allgemeine Java-Themen 1
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
X Dateien von der Jar zum Ordner kopieren. Allgemeine Java-Themen 4
Ananaskirsche Input/Output Dateien im Ordner Allgemeine Java-Themen 8
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
X Herunterladen von Dateien aus dem Internet Allgemeine Java-Themen 2
V Input/Output Sound Dateien aus Jar laden Allgemeine Java-Themen 18
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
H PDFBox akzeptiert Dateien nicht Allgemeine Java-Themen 1
B Java - einlesen von Dateien und herausschneiden von XML Dokumenten Allgemeine Java-Themen 5
A Input/Output Spätes Schreiben von Dateien der JVM Allgemeine Java-Themen 3
M Zwei unterschiedliche JAR Dateien mit ANT erstellen Allgemeine Java-Themen 8
Thallius Dateien Zippen und wieder heraus lesen? Allgemeine Java-Themen 4
T Dateien zur Laufzeit in Java-Programm packen? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben