为了账号安全,请及时绑定邮箱和手机立即绑定

老师这个测试的答案是有问题的哦!!!

老师这个测试的答案是有问题的哦!!!如果测试数据是这样的话:如下,结果竟然是正确的。                // Java文件名 String fileName = ".HelloWorld.java"; if (index!=-1&&index!=0&&prefix.equals(".java")) { System.out.println("Java文件名正确"); } else { System.out.println("Java文件名无效"); } 然而我们都知道,这样的fileName是不对的。打印结果是“正确”

正在回答

4 回答

String fileName = ".HelloWorld.java"仔细看源代码那边字符串后面只有jav少了一个a所以报错

0 回复 有任何疑惑可以回复我~

index是“.”最后一次出现的位置。index!=-1&&index!=0是什么鬼, 明显是你自己写的条件有问题。

0 回复 有任何疑惑可以回复我~
#1

qq_倔強人生_0

条件没有问题,index!=-1&&index!=0这句话的意思就是点号必须出现且不能再首位,你去看看旁边的实例。等于-1表示的就是匹配没有结果,也就是没出现。
2016-01-27 回复 有任何疑惑可以回复我~

字数有限制,看关键代码就知道我说的意思了,主要原因就是index的求法的问题,

// 获取文件名中最后一次出现"."号的位置

int index = fileName.lastIndexOf(".");

这句代码就不能处理String fileName = ".HelloWorld.java";这样的文件名哦。

0 回复 有任何疑惑可以回复我~
#1

低谷先生

lastIndexOf()方法是获取最后一个“.” ,你使用最后一个位置来判断是否是第一个位置当然不对啦
2015-12-08 回复 有任何疑惑可以回复我~

代码不全吧, 能贴全么

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师这个测试的答案是有问题的哦!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信