/**
*
* @author Uwe Ziegenhagen, www.uweziegenhagen.de
* Releaseversion vom 13.12.2008
*/
import java.util.*;
public class Addressmaker {
// Zahlenformat, um PLZ der Form 0xxxx darzustellen
static java.text.DecimalFormat format = new java.text.DecimalFormat("00000");
// Vornamen-Array
static String[] vornamen = new String[]{"Uwe","Andreas","Max","Moritz","Susi",
"Steffi","Janine","Tim","Tom","Marko","Hans","Thomas","Maria","Bernd","Mandy",
"Ben","Thorsten","Sabine","Ines","Isabell","Maria","Nicole","Sabrina","Jenny",
"Klaus","Heinz","Sabrina", "Tatjana","Felix","Patricia-Elisabeth","Maria Theresia"};
// Nachnamen-Array
static String[] nachnamen = new String[]{"Meier","Meyer","Mayer","Müller","Schulze","Lehmann",
"Köster","Schmidt","Schuster","Wagner","Schmied","Küster","Möller","Berger","Grünwald","Meier-Lehmann",
"Schulze-Müller","von Fallersleben-Burghausen"};
// ein paar Initiale, könnte man auch aus den Namen entnehmen
static String[] initial = new String[]{" "," "," "," "," A. "," B. "," C. "," D. "," E. "," "," "};
// Für Adressen der Form 10a oder b
static String[] adressinitial = new String[]{"","a","b","c","d","","","","","",""};
// Adresszusätze
static String[] adresszusatz = new String[]{"bei Schmidt","c/o Schmidt","p.Adr. Max Mustermann"};
// Ortsnamen sind zusammengesetzt aus Präfix und Suffix
static String[] ortsprefix = new String[]{"Wald","Wiesen","Groß","Klein","Mittel","Ober","Ham","Nieder","Alt","Alten",
"Königs","Langen","Moos","Mühl","Morgen","Schön","Tannen","Vogel","Wolfen","Kirch","Bären","Heide","Hohen","Breiten","Ehren","Eber",
"Fichten","Grün","Roten", "Ehr"};
static String[] ortssuffix = new String[]{"heim","dorf","hausen","burg","ow","au","furt","stein","aue","finow","tal","thal"};
// Straßen setzen sich ebenso zusammen aus Suffix und Präfix
static String[] strassenprefix = new String[]{"Wald","Wiesen","Amsel","Drossel","Finken","Wasser","Sonnen","Schiller","Goethe","Nachtigall","Spatzen"};
static String[] strassensuffix = new String[]{"straße","weg","gasse","allee","platz"};
// Domains für die Email-Adresse
static String[] domains = new String[]{".info",".de",".com",".info",".ac.uk",".ru",".ac.jp"};
// um später ein paar Ersetzungen zu machen
static String vname = "";
static String nname = "";
public static void main(String[] args) {
// initialisiere den Zufallszahlengenerator
Random generator = new Random(new Date().getTime());
// wieviele Adressen sollen generiert werden
int wieoft = 10;
// Email-Adressen erstellen ja oder nein
boolean email = true;
for (int i=0;i<wieoft;i++){
// Generiere Vor- und Nachnamen
vname = vornamen[generator.nextInt(vornamen.length)];
nname = nachnamen[generator.nextInt(nachnamen.length)];
// Gib Vor- und Nachnamen mit eventuellem Initial aus
System.out.print(vname + initial[generator.nextInt(initial.length)] +
nname + "\n");
// wenn nächste Random-Zahl < 3 dann generiere Adresszusatz
if (generator.nextInt(100)<3){
System.out.println(adresszusatz[generator.nextInt(adresszusatz.length)]);
}
// Generiere Strassennamen
System.out.print(strassenprefix[generator.nextInt(strassenprefix.length)] +
strassensuffix[generator.nextInt(strassensuffix.length)]+ " " + generator.nextInt(99) + adressinitial[generator.nextInt(adressinitial.length)] + "\n");
// Generiere PLZ und Ortsnamen
System.out.print(format.format(generator.nextInt(99999)) + " " +
ortsprefix[generator.nextInt(ortsprefix.length)] +
ortssuffix[generator.nextInt(ortssuffix.length)]+"\n");
// Wenn Email-Adressen generiert werden sollen, dann
// ersetze Umlaute und generiere die Adresse
if (email==true){
vname = vname.replaceAll("ö", "oe");
vname = vname.replaceAll("ä", "ae");
vname = vname.replaceAll("ü", "ue");
nname = nname.replaceAll("ö", "oe");
nname = nname.replaceAll("ä", "ae");
nname = nname.replaceAll("ü", "ue");
nname = nname.replaceAll(" ", ".");
System.out.println(vname.toLowerCase() + "." + nname.toLowerCase() + "@" +
ortssuffix[generator.nextInt(ortssuffix.length)] +
domains[generator.nextInt(domains.length)]);
}
// abschließendes \n
System.out.print("\n");
}
}
} |