Я написал программу Java для проверки адреса электронной почты, но эта программа работает неправильно. Например: всякий раз, когда мы вводим ввод как «1» (исключая двойные кавычки), мы получаем вывод как «true», но правильный вывод должен быть «false». Пожалуйста, помогите, как я буду ошибаться.Ошибка в программе электронной почты Verfier
/*This is a java program to verify email address*/
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailVerifyer {
public boolean isEmail(String email) {
Pattern p = Pattern
.compile("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*(.[a-zA-Z]{2,3})$");
Matcher m = p.matcher(email);
if (!m.matches())
return true;
else
return false;
}
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter an email which you would like to verify for correctness: ");
String email = scanner.nextLine();
EmailVerifyer emailVerifyer = new EmailVerifyer();
System.out.println("Output: ");
System.out.println(emailVerifyer.isEmail(email));
}
}
Это не 'return m.matches();' clearer хотя? – icebat
Это всего лишь минимальное изменение, чтобы заставить его работать один персонаж :) – matcheek