当我尝试执行程序时,它只适用于@,但它不检查。com或。ca。我该如何解决这个问题?
System. out.println("Enter your email:");
email = input.next();
while (!email.contains("@") && !email.endsWith(".com") || !email.contains("@") && !email.endsWith(".ca"))
{
System. out.println("Your email is not valid");
return;
}
基本上我的电子邮件应该同时包含@和.com
或@和.ca
,否则会显示email是无效的。
您需要更改一个逻辑操作。||代替&&.
while (!email.contains("@") || !email.endsWith(".com") || !email.endsWith(".ca"))
{
System. out.println("Your email is not valid");
return;
}
在你的情况下,如果你有@,但没有。com(例如),那么你会得到假的结果(因为&&),你的循环将结束。