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

关于19行索引问题

 既然字符串索引从0开始,为什么 19行那里最后一个字符不是fileName.length()-1呢?

正在回答

3 回答

索引从0开始,你就当他从1开始,本来要的不就是后一位吗,

String prefix = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName.lastIndexOf(".")这个式子取得一直是点的索引,4,5--5,6。的差距。你自己好好想想,这是我自己的理解。


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

为啥要采纳,使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符,你写fileName.length()-1不就成获取"jav"了,而不是"java".

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

比如一个文件的名称是Test.java,在第16行获取'.'的位置,
填写代码:
int index=fileName.lastIndexOf('.');
在这里获取了点最后一次出现的位置,所以接下来在19行应该判断文件后缀是否为java
填写代码:
String prefix =fileName.substring(index+1);
这里,index为点的位置,加1,既为j的位置,substring()用于提取从j开始,到文件结尾的字符序列。
最后通过equals进行比较。
length获取的是当前字符串的总长度,这里填写不合适。

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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

关于19行索引问题

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