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

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.indexof(".");

        

        // 获取文件的后缀

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

        

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

        if (index!=-1&&index!=0&&perfix.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("邮箱格式无效");

}

}

}

一直显示出错,不知道什么原因,求解?


提问者:慕仔7135344 2016-10-24 21:40

个回答

  • 撕烤兔
    2016-10-24 22:02:06
    已采纳

    1.   indexof  ---  indexOf()    大小写错 ,

    2.  prefix 和 perfix   拼写错。

    建议:将代码拷贝到 eclipse 中,使用 ide 帮助差错。

  • 撕烤兔
    2016-10-24 22:05:01

    贴代码,使用语法格式化的是不是更好呢?也方便交流。

  • 撕烤兔
    2016-10-24 22:03:32

    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);
            
            // 判断必须包含"."号,且不能出现在首位,同时后缀名为"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("邮箱格式无效");
            }
        }
    }


  • 艾恩葛朗特的黑色剑士4058882
    2016-10-24 22:00:31


    你在判断邮箱格式中有调用email.indexof(),indexof()方法中的参数不能是char型,应该是String型


    具体的情况,你可以通过API了解