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

为什么标准答案的结果不对?

为什么标准答案的运行结果不对,结果如下:

https://img.mukewang.com/5b07cf680001b82002380076.jpg

提问者:慕婉清4106374 2018-05-25 16:56

个回答

  • pasite
    2018-05-30 16:31:28

    		int index =fileName.lastIndexOf('.');                // 获取文件的后缀		String prefix =fileName.substring(index+1);


  • 慕粉3880162
    2018-05-28 10:24:01

    String fileName = "HelloWorld.java"; 标准答案里是jav不是java

  • 柚子不诱
    2018-05-26 18:36:48

       // 获取文件的后缀

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

    这块这样写就行了

  • 慕婉清4106374
    2018-05-25 16:57:34

    代码如下:

    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")){

    } 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("邮箱格式无效");

    }

    }

    }