判断邮箱格式输入的对错,简化为是否有“.”,@,@前后是否有字符。
需要用到字符串的遍历比对,字符串的抓取与赋值。
代码主体:
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();//判断输入字符串里有没有@符号//有@就进入这个ifif (email.indexOf("@") != -1) {//定义字符串变量substring,将第一个字符到@长度的字符截取出来String substring = email.substring(0, email.indexOf("@"));//该if用来判断@前是否有字符//如果截取出来的字符串长度为零,说明字符串中什么都没有if (substring.length() == 0) {//输出System.out.println("非法email,@前必须有字符");//反之就是有字符} else {//再进一步判断@之后有没有字符//用字符串定义substring1,将@后的所有字符截取并赋值给substring1String substring1 = email.substring(email.indexOf("@") + 1, email.length());//如果substring1的长度为零就说明@后没有字符if (substring1.length() == 0) {//输出System.out.println("非法email,@后必须有字符");//反之就是有字符//现在判断email中是否有“.”} else {//引入booleanboolean 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表示找到了。
输出结果: