Java :: Aufgabe #153 :: Lösung #2

2 Lösungen Lösungen öffentlich
#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.
#2
vote_ok
von Bufkin (1410 Punkte) - 12.09.2017 um 12:31 Uhr
Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1826366

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.