Java 在不使用string.length的情况下迭代字符串
我编写了这段代码,我想在不使用Java 在不使用string.length的情况下迭代字符串,java,loops,while-loop,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++; } 没有理由不使用String的length()方法。但是,如果您必须: String s = "abcdefg"; for (Character c : s.to
s.length
的情况下对字符串进行迭代。
我不知道while循环中的适当条件是什么
int i = 0;
String s = "abcdefg";
while (s.charAt(i) != null) {
System.out.println(s.charAt(i));
i++;
}
没有理由不使用String的length()方法。但是,如果您必须:
String s = "abcdefg";
for (Character c : s.toCharArray()) {
System.out.println(c);
}
没有理由不使用String的length()方法。但是,如果您必须:
String s = "abcdefg";
for (Character c : s.toCharArray()) {
System.out.println(c);
}
不确定为什么不能使用长度,但此解决方案可以工作
int i = 0;
String s = "abcdefg";
while(true)
{
try
{
system.out.println(s.charAt(i++));
}
catch
{
break;
}
}
不确定为什么不能使用长度,但此解决方案可以工作
int i = 0;
String s = "abcdefg";
while(true)
{
try
{
system.out.println(s.charAt(i++));
}
catch
{
break;
}
}
是的,您可以捕获IndexOutOfBounds异常,当您尝试读取字符串范围之外的字符时会抛出该异常。但是使用长度(如果可能的话?!)会更好。是的,您可以捕获IndexOutOfBounds异常,当您尝试读取字符串范围之外的字符时会抛出该异常。但是使用长度(如果可能的话?!)会更好。为什么你不能使用
length
?也许可以使用while(s.charAt(i+1)!=null){更准确一点-我不明白为什么我的代码不起作用。@StreamingBits像OP显示的那样..D:charAt(i)当索引超出字符串的边界时,
将抛出一个IndexOutOfBoundsException
;它不会返回null.Read。为什么不能使用length
?也许可以使用while(s.charAt(i+1)!=null){更准确一些-我不明白我的代码为什么不起作用。@StreamingBits如OP所示..D:charAt(i)
将在索引超出字符串边界时抛出一个IndexOutOfBoundsException
;它不会返回null.Read。使用字符c
非字符c
。无需处理包装器对象的开销。使用字符c
非字符c
。无需处理包装器的开销对象。通常不鼓励将异常用于流控制。通常不鼓励将异常用于流控制。