java中查找位置的一个问题(indexOf)

public static int[] indexesOf(
String s, String sub) {

int[] arr = new int[s.length()];
int i=0;
int index = 0;
while(true) {
index = s.indexOf(sub,index);
if(index < 0) break;
arr[i++] = index;
index++;
}
arr = Arrays.copyOf(arr, i);
return arr;
}
这段代码int i=0
和int index=0什么意思?

这个程序是 用数组arr记录sub在s中每次出现的位置。int i=0是给arr遍历用的,index是记录sub在s中的位置!
while循环中意思( 在s中查找是否有sub,是从index位置开始的。如果没有查到直接跳出返回长度0数组,如果查到 则给相应位置的所对应的数组赋值为index,循环遍历查询,最后在截取字符串返回
copyOfpublic static int[] copyOf(int[] original,
int newLength)复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。对于在原数组和副本中都有效的所有索引,这两个数组将包含相同的值。对于在副本中有效而在原数组无效的所有索引,副本将包含 0。当且仅当指定长度大于原数组的长度时,这些索引存在。

参数:
original - 要复制的数组
newLength - 要返回的副本的长度
indexOf

public int indexOf(String str,
int fromIndex)

返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。返回的整数是满足下式的最小 k 值:
k >= Math.min(fromIndex, this.length()) && this.startsWith(str, k)
如果不存在这样的 k 值,则返回 -1。

参数:str - 要搜索的子字符串。

fromIndex - 开始搜索的索引位置。
返回:指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-09
首先是初始化。其次是:i 是由于业务需要(为数组arr从第一个元素起开始赋值);
index 显式初始化为0 是为了区别于随后保存(index = s.indexOf(sub,index);)的值。本回答被网友采纳
第2个回答  2012-07-10
变量初始化,赋初值为0

在Java语言中,indexOf( )的作用是___。
(1) 返回某个指定的子字符串值在字符串中首次出现的位置;

indexof()的用法,具体是什么意思??
答案:indexof是一个常用于编程的函数,主要用于查找某个字符或字符串在一个字符串中的起始位置。它返回的是指定字符或字符串首次出现的索引位置,如果没有找到则返回特定值。详细解释:1. 基本概念:indexof函数是字符串类中的一个方法,主要用于在字符串中查找另一个字符或字符串的起始位置。在编程中...

java中indexof的问题
String b = "k";int index;index = a.indexOf(b);这样就是找k在字符串a最后的最后的下标,从0开始!

Java 中 indexof指令
int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1 eg:String str="a2dfcfar1bzvb";System.out.println(str.indexOf(97,2));看这个例子,输出:6

JAVA中的indexOf啥意思?
indexof('z',2)和 indexof('z',3),意思是从第3个字符或者第4个字符开始,下一个z的index,注意java里的index是从0开始的...所以返回第6个字符z的index是5 str1.indexof("字",start,end);\/\/从str1第start+1个字符起,查找end个字符,查找“字”在字符串str1中的位置[从第一个字符算...

Java里,关于indexOf
1)索引可以理解为位数,只是在这里它不是从1开始计数,而是从零开始。2)String str1 = "abcabasiouabvcaisoabcaaabc";每个字符的索引 0123456789...3)index = str1.indexOf(str2);\/\/找到str2在str1中第一次出现的位置,可以看到对应的索引为0.while(-1!= index)\/\/只要str1还包含str2...

java indexof的问题
其实这个查api就能搞定.indexof 找input2里面第一次出现input1字符的位置.indexOfpublic int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。如果在此 String 对象表示的字符序列中出现值为 ch 的字符,则返回第一次出现该字符的索引(以 Unicode 代码单元表示)。对于 0 到 0xFFFF...

java中indexOf的使用?
像indexOf('Z',2)的2代表的是从字符串第3[请注意是3,它已经跳过了第一个Z]个字符开始找'Z'字符,找到后返回'Z'字符的位置,请注意,这个时候返回的位置数,又是从0位置开始计数的。所以indexOf('Z',3)找到的那个Z也是和indexOf('Z',2)找到的Z的位置是一样的。

Java问题,String类中的indexOf()方法...
indexOf 方法,返回 String 对象内第一次出现子字符串的字符位置。语法为strObj.indexOf(subString[, startIndex])。参数:1、strObj:必选项。String 对象或文字。2、subString:必选项。要在 String 对象中查找的子字符串。3、starIndex:可选项。该整数值指出在 String 对象内开始查找的索引。

Java中查找字符串indexof()方法是怎么计算起始位置的
abc ".indexOf("abc") = 0;"a bca bca bc".indexOf("abc") = -1; \/\/找不到 答案补充 不好意思, 我的回答下面这句话是错误的 比如那那个字符串"The piano" T的索引是0, p的索引是3 正确的应该是 比如那那个字符串"The piano" T的索引是0, 空格的索引是3, p的索引是4 ...

相似回答