Java字符串代碼
以下代碼有什么錯誤?
public?class?HelloWorld?{ ????public?static?void?main(String[]?args)?{ ????????//?Java文件名 ???? String?fileName?=?"HelloWorld.java";? ????????//?郵箱 String?email?=?"[email protected]"; //?判斷.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("郵箱格式無效"); } } }
2016-08-22
16行應該是int?index?=fileName.lastIndexOf('.');?
2016-08-06
19行 ?你寫的是 filename ?應該是fileName ?
2016-08-06
首先后綴名是個范圍 不是一個值 ?你寫成了filename.lastIndexOf('.')+1
String prefix =fileName.substring(index+1,fileName.length());