化糖
2016-08-06 11: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 =lastIndexOf('.'); // 获取文件的后缀 String prefix =filename.substring(filename.lastIndexOf('.')+1); // 判断必须包含"."号,且不能出现在首位,同时后缀名为"java" if ( index!=-1&&index!=0&&prefix.equals("java")) { System.out.println("Java文件名正确"); } else { System.out.println("Java文件名无效"); } // 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前 /* 参考步骤: 1、获取文件名中"@"符号的位置 2、获取邮箱中"."号的位置 3、判断必须包含"@"符号,且"@"必须在"."之前 */ // 获取邮箱中"@"符号的位置 int index2 = email.lastIndexOf('@'); // 获取邮箱中"."号的位置 int index3 = email.lastIndexOf('.'); // 判断必须包含"@"符号,且"@"必须在"."之前 if (index2 != -1 && index3 > index2) { System.out.println("邮箱格式正确"); } else { System.out.println("邮箱格式无效"); } } }
16行应该是int index =fileName.lastIndexOf('.');
19行 你写的是 filename 应该是fileName
首先后缀名是个范围 不是一个值 你写成了filename.lastIndexOf('.')+1
String prefix =fileName.substring(index+1,fileName.length());
Java入门第三季
409792 学习 · 4340 问题
相似问题