Java :: Aufgabe #153 :: Lösung #2
2 Lösungen
#153
Überprüfen von Email Adressen
Anfänger - Java
von ZRX88
- 08.01.2017 um 12:38 Uhr
Hintergrund:
Angenommen du hast eine Internetadresse und sammelst dort Emails über ein Newsletter anmelden Formular ein.
Dadurch generierst eine Zahl x an Email Adressen aller Art.
Das Ziel ist nun zu bestimmen, Eigenschaften deiner Adressen auszuwerten. Typische Fragen sind hier beispielsweise Verteilung der Geschlechter, Alter?
Daher soll ein Programm geschrieben werden, welches eine Liste mit Email-Adressen entgegen nimmt und dann folgende Eigenschaften ausgibt:
* Valide Email? ( Ist es überhaupt eine Email...)
* Domain
* Land der Domain
* Email enthält Zahlen?
* Geburtsjahr?
* ... ( Gibt sicher noch einige spannende Eigenschaften.. Up to you!)
Optional:
* Geschlecht?
Anmerkung: Der Prozess muss nicht perfekt sein.
Angenommen du hast eine Internetadresse und sammelst dort Emails über ein Newsletter anmelden Formular ein.
Dadurch generierst eine Zahl x an Email Adressen aller Art.
Das Ziel ist nun zu bestimmen, Eigenschaften deiner Adressen auszuwerten. Typische Fragen sind hier beispielsweise Verteilung der Geschlechter, Alter?
Daher soll ein Programm geschrieben werden, welches eine Liste mit Email-Adressen entgegen nimmt und dann folgende Eigenschaften ausgibt:
* Valide Email? ( Ist es überhaupt eine Email...)
* Domain
* Land der Domain
* Email enthält Zahlen?
* Geburtsjahr?
* ... ( Gibt sicher noch einige spannende Eigenschaften.. Up to you!)
Optional:
* Geschlecht?
Anmerkung: Der Prozess muss nicht perfekt sein.
#2
von Bufkin (1410 Punkte)
- 12.09.2017 um 12:31 Uhr
Java-Code
import java.util.Scanner; class email { public static void main (String[] args) throws java.lang.Exception { boolean at = false; boolean dot = false; boolean zahlen = false; String land = ""; int geburtsjahr = 0; String local = ""; String domain = ""; String domainland = ""; System.out.print("Eingabe der Email-Adresse: "); Scanner reader = new Scanner(System.in); String email = reader.next(); System.out.println(email); reader.close(); local = email.substring(0, email.lastIndexOf("@")); domain = email.substring(email.lastIndexOf("@") + 1, email.lastIndexOf(".")); domainland = email.substring(email.lastIndexOf("@") + 1, email.length()); //Test auf @ if(email.contains("@")) { at = true; } else { at = false; } //test auf . in domain if(domainland.contains(".")) { dot = true; } else { dot = false; } if(at && dot) { System.out.println("Die Email-Adresse ist valide.\n\n### Weitere Infos ###\n"); //Domain System.out.println("Domain: " + domain); //Land der domain land = email.substring(email.lastIndexOf(".") + 1, email.length()); switch(land) { case "de": land = "Deutschland"; break; case "com": land = "USA"; break; case "uk": land = "Vereinigtes Königreich"; break; default: land = "Dieses Land wird in dieser Version nicht unterstützt."; } System.out.println("Land der Domain: " + land); //Email enthält Zahlen for(char c : local.toCharArray()) { if(Character.isDigit(c)) { zahlen = true; } } if(zahlen) { System.out.println("Die Email-Adresse enthält Zahlen."); } else { System.out.println("Die Email-Adresse enthält keine Zahlen."); } //Geburtsjahr StringBuilder sb = new StringBuilder(); boolean found = false; for(char c : local.toCharArray()){ if(Character.isDigit(c)){ sb.append(c); found = true; } else if(found){ break; } } String sbString = sb.toString(); int jahr = Integer.parseInt(sbString); if(jahr >= 0 && jahr <= 99 || jahr >= 1900 && jahr <= 2017) { if(jahr == 0) { System.out.println("Geburtsjahr: 00" ); } else { System.out.println("Geburtsjahr: " + jahr); } } else { System.out.println("Die vorhandene Zahl ist kein Geburtsjahr."); } } else { System.out.println("Die Email-Adresse ist nicht valide."); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1