不多bb
2019-02-09 23:56
既然字符串索引从0开始,为什么 19行那里最后一个字符不是fileName.length()-1呢?
索引从0开始,你就当他从1开始,本来要的不就是后一位吗,
String prefix = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName.lastIndexOf(".")这个式子取得一直是点的索引,4,5--5,6。的差距。你自己好好想想,这是我自己的理解。
为啥要采纳,使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符,你写fileName.length()-1不就成获取"jav"了,而不是"java".
比如一个文件的名称是Test.java,在第16行获取'.'的位置,
填写代码:
int index=fileName.lastIndexOf('.');
在这里获取了点最后一次出现的位置,所以接下来在19行应该判断文件后缀是否为java
填写代码:
String prefix =fileName.substring(index+1);
这里,index为点的位置,加1,既为j的位置,substring()用于提取从j开始,到文件结尾的字符序列。
最后通过equals进行比较。
length获取的是当前字符串的总长度,这里填写不合适。
Java入门第三季
409792 学习 · 4340 问题
相似问题