我有一个setter,我希望它检查一个电子邮件地址是否包含字符"@"和".".,在设置值之前.如果电子邮件地址不包含这些字符,我希望用户再次输入电子邮件地址.我应该读取setter中的新值还是不好的实践,只能在main或不同的方法中完成?
import java.util.Scanner;
public class Person {
private String emailAddress;
Scanner input = new Scanner( System.in);
public void setEmail(String email)
{
while(email.indexOf('@')<0 || email.indexOf('.')<0)
{
System.out.println("The email address must contain the characters \"@\" and \".\" ");
System.out.println("Enter email address again:
email = input.nextLine();
}
}
}
Run Code Online (Sandbox Code Playgroud) java ×1