迭代字符串而不使用string.length

时间:2015-01-28 23:14:26

标签: java loops while-loop

我写了那段代码,我想在不使用s.length的情况下迭代字符串。 我无法意识到while循环中的适当条件是什么。

int i = 0;
String s = "abcdefg";
while (s.charAt(i) != null) {
    System.out.println(s.charAt(i));
    i++;
}

3 个答案:

答案 0 :(得分:7)

没有理由不使用String的length()方法。但是,如果你必须:

String s = "abcdefg";
for (Character c : s.toCharArray()) {
    System.out.println(c);
}

答案 1 :(得分:0)

是的,您可以捕获IndexOutOfBounds异常,当您尝试读取字符串范围内的字符时,抛出该异常。但是使用长度(如果可能的话?!)会更好。

答案 2 :(得分:-1)

不确定为什么你不能使用长度,但这个解决方案可行。

    int i = 0;
    String s = "abcdefg";
    while(true)
    {
        try
        {
             system.out.println(s.charAt(i++));
        }
        catch
        {
            break;
        }
    }