问答详情
源自: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("邮箱格式无效");
        }
    }
}

提问者:n1ha0 2016-03-30 17:00

个回答

  • zliang
    2016-03-30 17:42:16
    已采纳

    方法名错了,修改如下:

    1、// 获取文件的后缀

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


    2、

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

           int index2 = email.indexOf("@");


  • aryong
    2016-04-12 15:49:37

    // 获取文件的后缀
           String prefix =fileName.subString(index+1,fileName.length());

    是不是应该改成:String prefix =fileName.subString(index+1);

    使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符

  • weibo_这里是哪里Adrian
    2016-03-30 17:46:57

    朋友,方法名写错了。

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

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

    int index2 = email.indexOf("@");

    注意方法中字母的大小写都要对,要认真哦!