152 lines
6.0 KiB
Java
152 lines
6.0 KiB
Java
package Semester2;
|
|
|
|
import java.io.*;
|
|
import java.util.ArrayList;
|
|
import java.util.Random;
|
|
|
|
public class Vorlesung1 {
|
|
|
|
// [6 Kundennummer, 20 Nachname, 20 Vorname, 20 Straße, 5 Hausnummer, 5 PLZ, 20 Ort, int Umsatz]
|
|
|
|
private ArrayList<String> nachnamen = erstelleArrays(0);
|
|
private ArrayList<String> vornamen = erstelleArrays(1);
|
|
private ArrayList<String> strassen = erstelleArrays(2);
|
|
private ArrayList<String> plzort = erstelleArrays(3);
|
|
|
|
public Vorlesung1() {
|
|
this.nachnamen = erstelleArrays(0);
|
|
this.vornamen = erstelleArrays(1);
|
|
this.strassen = erstelleArrays(2);
|
|
this.plzort = erstelleArrays(3);
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|
|
Vorlesung1 liste = new Vorlesung1();
|
|
try {
|
|
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
|
|
String laenge;
|
|
System.out.println("Wie viele Testsätze: ");
|
|
laenge = eingabe.readLine();
|
|
String was;
|
|
System.out.println("Als CSV?");
|
|
was = eingabe.readLine();
|
|
|
|
if (was.equals("1")) {
|
|
liste.mitTrennzeichen(Integer.parseInt(laenge));
|
|
} else {
|
|
liste.mitLeerzeichen(Integer.parseInt(laenge));
|
|
}
|
|
} catch (Exception e) {
|
|
System.out.println(e.getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
private static ArrayList<String> erstelleArrays(int index) {
|
|
ArrayList<String> rueckgabe = new ArrayList<>();
|
|
String zeile;
|
|
String verzeichnis = System.getProperty("user.dir"); // Aktuelles Arbeitsverzeichnis
|
|
String[] dateien = new String[]{
|
|
verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "Nachnamen.txt",
|
|
verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "Vornamen.txt",
|
|
verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "Strassen.txt",
|
|
verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "PLZOrt.txt"
|
|
};
|
|
try {
|
|
BufferedReader leseQuelle = new LineNumberReader(new FileReader(dateien[index]));
|
|
while ((zeile = leseQuelle.readLine()) != null) {
|
|
rueckgabe.add(zeile);
|
|
}
|
|
leseQuelle.close();
|
|
} catch (Exception e) {
|
|
System.out.println(e.getMessage());
|
|
}
|
|
return rueckgabe;
|
|
}
|
|
|
|
|
|
private static String fuelleMitLeerzeichen(ArrayList<String> liste, int laenge) {
|
|
Random random = new Random();
|
|
String neu = liste.get(random.nextInt(liste.size()));
|
|
if (neu.length() < laenge) {
|
|
neu = neu + " ".repeat(laenge - neu.length());
|
|
}
|
|
return neu;
|
|
}
|
|
|
|
|
|
|
|
|
|
public void mitTrennzeichen(int anzahl) {
|
|
try {
|
|
String verzeichnis = System.getProperty("user.dir"); // Aktuelles Arbeitsverzeichnis
|
|
BufferedWriter schreibeDatei = new BufferedWriter(new FileWriter(verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "trennzeichen.txt"));
|
|
Random random = new Random();
|
|
for (int i = 0; i < anzahl; i++) {
|
|
StringBuilder fertigerEintrag = new StringBuilder();
|
|
// Kundennummer
|
|
fertigerEintrag.append(String.format("%06d", i));
|
|
fertigerEintrag.append("#");
|
|
// Nachname
|
|
fertigerEintrag.append(nachnamen.get(random.nextInt(nachnamen.size())));
|
|
fertigerEintrag.append("#");
|
|
// Vorname
|
|
fertigerEintrag.append(vornamen.get(random.nextInt(vornamen.size())));
|
|
fertigerEintrag.append("#");
|
|
// Straße
|
|
fertigerEintrag.append(strassen.get(random.nextInt(strassen.size())));
|
|
fertigerEintrag.append("#");
|
|
// Hausnummer
|
|
fertigerEintrag.append(String.format("%05d", random.nextInt(99999)));
|
|
fertigerEintrag.append("#");
|
|
// PLZ Ort
|
|
fertigerEintrag.append(plzort.get(random.nextInt(plzort.size())));
|
|
fertigerEintrag.append("#");
|
|
// Umsatz
|
|
fertigerEintrag.append(String.format("%04d", random.nextInt(500) + 1500));
|
|
fertigerEintrag.append("#");
|
|
|
|
schreibeDatei.write(fertigerEintrag.toString());
|
|
schreibeDatei.newLine();
|
|
}
|
|
schreibeDatei.close();
|
|
} catch (Exception e) {
|
|
System.out.println(e.getMessage());
|
|
}
|
|
|
|
}
|
|
|
|
public void mitLeerzeichen(int anzahl) {
|
|
try {
|
|
String verzeichnis = System.getProperty("user.dir"); // Aktuelles Arbeitsverzeichnis
|
|
BufferedWriter schreibeDatei = new BufferedWriter(new FileWriter(verzeichnis + File.separator + "12_Dateien_Fuer_Aufgabe1" + File.separator + "festeBreite.txt"));
|
|
Random random = new Random();
|
|
for (int i = 0; i < anzahl; i++) {
|
|
StringBuilder fertigerEintrag = new StringBuilder();
|
|
// Kundennummer
|
|
fertigerEintrag.append(String.format("%06d", i));
|
|
// Nachname
|
|
fertigerEintrag.append(fuelleMitLeerzeichen(nachnamen, 20));
|
|
// Vorname
|
|
fertigerEintrag.append(fuelleMitLeerzeichen(vornamen, 20));
|
|
// Straße
|
|
fertigerEintrag.append(fuelleMitLeerzeichen(strassen, 20));
|
|
// Hausnummer
|
|
fertigerEintrag.append(String.format("%05d", random.nextInt(99999)));
|
|
// PLZ Ort
|
|
fertigerEintrag.append(fuelleMitLeerzeichen(plzort, 25));
|
|
// Umsatz
|
|
fertigerEintrag.append(String.format("%04d", random.nextInt(500) + 1500));
|
|
|
|
schreibeDatei.write(fertigerEintrag.toString());
|
|
schreibeDatei.newLine();
|
|
}
|
|
schreibeDatei.close();
|
|
} catch (Exception e) {
|
|
System.out.println(e.getMessage());
|
|
}
|
|
}
|
|
|
|
}
|