我写了那段代码,我想在不使用s.length
的情况下迭代字符串。
我无法意识到while循环中的适当条件是什么。
int i = 0;
String s = "abcdefg";
while (s.charAt(i) != null) {
System.out.println(s.charAt(i));
i++;
}
答案 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;
}
}