我的代码有什么问题(线程中的异常"main"java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:5)........
public class AAExample {
public static void main(String[] args) {
AAExample nn = new AAExample();
System.out.println(nn.isXOrZ("Pony"));
}
public boolean isXOrZ(String text) {
String lower = text.toLowerCase();
boolean found = false;
int i = 0;
while (!found) {
String letter = lower.substring(i, i +1);
if(letter.equals("z") || letter.equals("x"))
found = true;
i++;
}
return found;
}
}
Run Code Online (Sandbox Code Playgroud)
你的while循环保持循环直到x或z找到.当实际上没有x或z在您的中时,会发生无限循环String.
StringIndexOutOfBoundsException 发生的时候 i >= lower.length()-1
所以你需要修改你的while循环
while (!found && i < lower.length()-1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |