如题,字符串中明明有@,怎么indexOf语句找不到,最后输出是邮箱格式无效
心静下来,慢慢学。基本的写错了自己找问题也累。
println这种拼写错误就不劳您这种大神来解答了
我是在eclipse里跑的,如果是println写错了就会直接报错而不是返回值,是人都知道我这里笔误,这是什么东西你不知道?不知道就别出来BB了好吧
你看看你System.out.println(index2)中的println写的什么?printin???这是什么东西?
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+1,fileName.length());
// 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
if ( index!=0&&index!=-1&&prefix.equals("java") ) {
System.out.println("Java文件名正确");
} else {
System.out.println("Java文件名无效");
}
// 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前
/*
参考步骤:
1、获取文件名中"@"符号的位置
2、获取邮箱中"."号的位置
3、判断必须包含"@"符号,且"@"必须在"."之前
*/
// 获取邮箱中"@"符号的位置
int index2 = fileName.indexOf('@');
System.out.printin(index2);
// 获取邮箱中"."号的位置
int index3 = email.indexOf('.');
System.out.printin(index3);
// 判断必须包含"@"符号,且"@"必须在"."之前
if (index2 != -1 && index3 > index2) {
System.out.println("邮箱格式正确");
} else {
System.out.println("邮箱格式无效");
}
}
}
把你完整代码发出来,fileName是多少