如何从for循环内部返回变量

时间:2013-09-26 09:56:39

标签: java variables loops return break

我试图返回包含字符'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'的索引。

2 个答案:

答案 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而不是数组。如果您的目标变得比这更复杂,您将能够使用专用方法来实现您的目标,甚至使用正则表达式。