為什么越界了? java.lang.StringIndexOutOfBoundsException
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? // Java文件名
String fileName = "HelloWorld.java";?
? ? ? ? // 郵箱
String email = "laurenyang@imooc.com";
// 判斷.java文件名是否正確:合法的文件名應(yīng)該以.java結(jié)尾
? ? ? ? /*
? ? ? ? 參考步驟:
? ? ? ? 1、獲取文件名中最后一次出現(xiàn)"."號(hào)的位置
? ? ? ? 2、根據(jù)"."號(hào)的位置,獲取文件的后綴
? ? ? ? 3、判斷"."號(hào)位置及文件后綴名
? ? ? ? */
? ? ? ? //獲取文件名中最后一次出現(xiàn)"."號(hào)的位置
int index = fileName.lastIndexOf(".");
? ? ? ??
? ? ? ? // 獲取文件的后綴!!!!!!
String prefix = fileName.substring('.');
? ? ? ??
// 判斷必須包含"."號(hào),且不能出現(xiàn)在首位,同時(shí)后綴名為"java"
if ( index != -1 && index != 0 & prefix.equals(".java") ) {
System.out.println("Java文件名正確");
} else {
System.out.println("Java文件名無效");
}
? ? ? ? // 判斷郵箱格式是否正確:合法的郵箱名中至少要包含"@", 并且"@"是在"."之前
? ? ? ? ?/*
? ? ? ? 參考步驟:
? ? ? ? 1、獲取文件名中"@"符號(hào)的位置
? ? ? ? 2、獲取郵箱中"."號(hào)的位置
? ? ? ? 3、判斷必須包含"@"符號(hào),且"@"必須在"."之前
? ? ? ? */
? ? // 獲取郵箱中"@"符號(hào)的位置
int index2 = email.lastIndexOf("@");
? ? ? ??
? ? ? ? // 獲取郵箱中"."號(hào)的位置
int index3 = email.indexOf(".");
? ? ? ??
// 判斷必須包含"@"符號(hào),且"@"必須在"."之前
if (index2 != -1 && index3 > index2) {
System.out.println("郵箱格式正確");
} else {
System.out.println("郵箱格式無效");
}
}
}
2018-01-25
2018-01-01