判断邮箱格式输入的对错,简化为是否有“.”,@,@前后是否有字符。
需要用到字符串的遍历比对,字符串的抓取与赋值。
代码主体:
public class youpanduanyouxiangshifouhefa {
//判断输入的邮箱是否合法
public static void main(String[] args) {
//抓取命令
Scanner scanner = new Scanner(System.in);
System.out.println("输入你的email:");
//定义变量"email"
// 将抓取字符串赋给变量"email"
String email = scanner.next();
//判断输入字符串里有没有@符号
//有@就进入这个if
if (email.indexOf("@") != -1) {
//定义字符串变量substring,将第一个字符到@长度的字符截取出来
String substring = email.substring(0, email.indexOf("@"));
//该if用来判断@前是否有字符
//如果截取出来的字符串长度为零,说明字符串中什么都没有
if (substring.length() == 0) {
//输出
System.out.println("非法email,@前必须有字符");
//反之就是有字符
} else {
//再进一步判断@之后有没有字符
//用字符串定义substring1,将@后的所有字符截取并赋值给substring1
String substring1 = email.substring(email.indexOf("@") + 1, email.length());
//如果substring1的长度为零就说明@后没有字符
if (substring1.length() == 0) {
//输出
System.out.println("非法email,@后必须有字符");
//反之就是有字符
//现在判断email中是否有“.”
} else {
//引入boolean
boolean is = false;
//用for循环查找email中是否有.
for (int i = 0; i < substring1.length(); i++) {
//每个字符拿出来看是否等于”.“
if (substring1.charAt(i) == '.') {
is = true;
}
}
//如果变量是true说明含有“.”
if (is) {
//输出
System.out.println("合法email");
//反之就没有.
} else {
//输出
System.out.println("非法email,没有.");
}
}
}
//反之就没有@
} else {
//输出
System.out.println("没有@,不合法");
}
}
}
注意:
indexOf()==-1中的indexOf()代表一个字符串是否包含在另一个字符串中,==-1表示没找到,同理
!=-1表示找到了。
输出结果: