Java字符串代碼
以下代碼有什么錯(cuò)誤?
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?=lastIndexOf('.');?
????????
????????//?獲取文件的后綴
String?prefix?=filename.substring(filename.lastIndexOf('.')+1);
????????
//?判斷必須包含"."號(hào),且不能出現(xiàn)在首位,同時(shí)后綴名為"java"
if?(?index!=-1&&index!=0&&prefix.equals("java"))?{
System.out.println("Java文件名正確");
}?else?{
System.out.println("Java文件名無(wú)效");
}
????????//?判斷郵箱格式是否正確:合法的郵箱名中至少要包含"@",?并且"@"是在"."之前
?????????/*
????????參考步驟:
????????1、獲取文件名中"@"符號(hào)的位置
????????2、獲取郵箱中"."號(hào)的位置
????????3、判斷必須包含"@"符號(hào),且"@"必須在"."之前
????????*/
????//?獲取郵箱中"@"符號(hào)的位置
int?index2?=?email.lastIndexOf('@');
????????
????????//?獲取郵箱中"."號(hào)的位置
int?index3?=?email.lastIndexOf('.');
????????
//?判斷必須包含"@"符號(hào),且"@"必須在"."之前
if?(index2?!=?-1?&&?index3?>?index2)?{
System.out.println("郵箱格式正確");
}?else?{
System.out.println("郵箱格式無(wú)效");
}
}
}
2016-08-22
16行應(yīng)該是int?index?=fileName.lastIndexOf('.');?
2016-08-06
19行 ?你寫的是 filename ?應(yīng)該是fileName ?
2016-08-06
首先后綴名是個(gè)范圍 不是一個(gè)值 ?你寫成了filename.lastIndexOf('.')+1
String prefix =fileName.substring(index+1,fileName.length());