A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

String str1 = "Copacabana";
String str2=" Coconut ";
System.out.println (str1.indexOf(str2.charAt(3),5));

3 个回复

倒序浏览
String 的 indexOf(int ch, int fromIndex)方法返回值是从位置 fromIndex 起出现ch的位置。您的程序str2.charAt(3) 是‘c’,从str1的第五位起没有c再出现,所以indexOf的返回值是-1.
回复 使用道具 举报
你的基础有待提高啊 呵呵  努力 加油
回复 使用道具 举报
本帖最后由 张飞年 于 2012-9-20 01:04 编辑

原因如下:
charAt()方法的索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推。所以str2.charAt(3)的结果为'c'【楼主的str2开头有一个空格的】。
str1.indexOf(int ch, int fromIndex)方法表示从fromIndex开始找ch,返回第一个找到的ch的位置,因为在此处5往后没有找到,所以返回-1.
分析这类连接套在一起的方法,从里往外一层一层分析,多查查API哦。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马