我试图返回包含字符'r'的元素的索引,其中charcater'u'作为其后继者。以下代码始终返回varialbe ruindex = 0。 请在代码中提出修改建议。
int ruindex=0;
if (s1[0]=='h') {
s2[0] = 'h';
s2[1] = 't';
s2[2] = 't';
s2[3] = 'p';
s2[4] = ':';
s2[5] = '/';
s2[6] = '/';
for (int i=4; i < s1.length-1; i++) {
if (s1[i]=='r' && s1[i+1]=='u') {
ruindex = i;
break;
}
}
}
这只是我整体代码的一部分。是的,我有理由想从i = 4开始。我想做的是每当我在字符数组中遇到'r'和'u'时,我想返回'r'的索引。
答案 0 :(得分:3)
怎么样
String s2 = new String(s1);
s2.indexOf("ru");
答案 1 :(得分:0)
如果初始化和填充数组,您的代码确实会影响第一次遇到“ru”到ruindex变量的索引。但是,您应该将循环更改为
for (int i = 4; i < s1.length - 1; i++) {
或者如果'r'是数组的最后一个字符并且之前没有匹配,则会得到一个ArrayOutOfBoundsException。
无论如何,在我看来你应该考虑使用Strings而不是数组。如果您的目标变得比这更复杂,您将能够使用专用方法来实现您的目标,甚至使用正则表达式。