问答详情
源自:2-3 Java 中 String 类的常用方法 Ⅰ

实在看不出来哪里错了

public class HelloWorld {

    public static void main(String[] args) {

        // Java文件名

String fileName = "HelloWorld.java"; 

        // 邮箱

String email = "laurenyang@imooc.com";

// 判断.java文件名是否正确:合法的文件名应该以.java结尾

        /*

        参考步骤:

        1、获取文件名中最后一次出现"."号的位置

        2、根据"."号的位置,获取文件的后缀

        3、判断"."号位置及文件后缀名

        */

        //获取文件名中最后一次出现"."号的位置

int index =fileName.lastIndexof(".");

        

        // 获取文件的后缀

String prefix =fileName.substring(index+1,fileName.length());

        

// 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"

if (index !=-1&&index !=0&&prefix.equals("java")                               ) {

System.out.println("Java文件名正确");

} else {

System.out.println("Java文件名无效");

}


        // 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前

         /*

        参考步骤:

        1、获取文件名中"@"符号的位置

        2、获取邮箱中"."号的位置

        3、判断必须包含"@"符号,且"@"必须在"."之前

        */

   // 获取邮箱中"@"符号的位置

int index2 =email.indexof('@'); 

        

        // 获取邮箱中"."号的位置

int index3 = email.indexOf('.');

        

// 判断必须包含"@"符号,且"@"必须在"."之前

if (index2 != -1 && index3 > index2) {

System.out.println("邮箱格式正确");

} else {

System.out.println("邮箱格式无效");

}

}

}


提问者:qq_海上花开_1 2018-06-23 20:41

个回答

  • 慕慕3157912
    2018-07-19 16:34:13

    lastIndexof中的o得大写,lastIndexOf。
    你好几处这个o都是用的小写

  • qq_Kindergarten_0
    2018-06-28 07:06:30

    int index2 =email.indexof('@');

    int index =fileName.lastIndexof(".");

    这两句

    应该为:

    int index2 =email.indexOf('@');  //注意是大写的O不是小写的

    int index =fileName.lastIndexOf("."); //注意是大写的O不是小写的


  • qq_不忘初心_228
    2018-06-23 22:27:28

    String prefix =fileName.substring(index+1,fileName.length());

    改成String prefix =fileName.substring(index+1);