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,fileName.length());
// 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
if ( index!=0 ) {
System.out.println("Java文件名正确");
} else {
System.out.println("Java文件名无效");
}
因为我知道.在首位程序应该会返回index=0,于是我把获取文件的后缀改成String prefix =fileName.substring(index,fileName.length());
获取的就是.在首位,接着判断index!=0则输出java运行成功,否则失败,按道理应该输出失败才对,可结果居然输出java运行成功,不懂为什么会这样,求大佬解答
prefix.equals("java")错了,应该为prefix.equals(".java"),因为你的prefix字符串是".java"
当我把代码改成if (index!=-1&&index!=0&&prefix.equals("java") ) , String prefix =fileName.substring(index,fileName.length());这个不改动,结果却变成
Java文件名无效 邮箱格式正确