E-mail controleren, maar dan beter
Mensen waren zo blij met je e-mailchecker dat ze ‘m willen verbeteren voor nog meer situaties. Je hebt gehoord dat niet alle e-mails eindigen met 3 tekens, dus probeer dat in de code te verwerken. Ook is je gevraagd een bericht toe te voegen dat aangeeft wanneer het @-symbool ontbreekt.
Deze oefening maakt deel uit van de cursus
Java voor gevorderden
Oefeninstructies
- Voeg een logische operator toe om te controleren of er ergens na de
"@"een".""staat. - Gebruik de juiste controlflow om alle foute e-mails op te vangen: je wilt e-mails markeren die
"@"helemaal rechts hebben of die geen"."bevatten na"@". - Zorg er, met de juiste logische operator, voor dat we een bericht krijgen voor e-mails die geen
@bevatten.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
class EMailChecker {
public static void main(String[] args) {
String adrs = "[email protected]";
int addLen = adrs.length();
boolean hasAt = adrs.contains("@");
if (hasAt && adrs.charAt(addLen - 4) == '.') {
System.out.println("Send that email !");
// Enter the correct logical operator to be able to catch all correct emails
} else if (hasAt && (adrs.charAt(addLen - 3) == '.' ____ hasDotAfterAt(adrs))) {
System.out.println("That's a correct email address");
// Use the correct keyword to catch any bad email addresses
} ____ {
// Make sure that the users know when the '@' is missing
if (____hasAt) {
System.out.println("Your email is missing the '@'");
} else {
System.out.println("That's not a valid email");
}
}
}
static boolean hasDotAfterAt(String address) {
int atPos = address.indexOf('@');
String subString = address.substring(atPos);
return subString.contains(".");
}
}