示例代码:
public static void main(String[] args) {
String str = "123456qweasd";
for (int i = 0; i < str.length(); i++) {
if (Character.isLetter(str.charAt(i + 1))) {
System.out.println("123");
}
}
}
在这里会报下标溢出错误。 解决方法:
public static void main(String[] args) {
String str = "123456qweasd";
str += " ";
for (int i = 0; i < str.length() - 1; i++) {
if (Character.isLetter(str.charAt(i + 1))) {
System.out.println("123");
}
}
}
意思就是为当前字符串加一个无关字符,图中是在末尾加空格,然后在循环中遍历除最后一个之前的所有。 当不是字符串而是数组之类的,就把旧数组赋给新数组,新数组比旧数组长,然后遍历除最后一个之前的所有。 为什么不遍历最后一个:因为最后的下标内容是无关量,避免溢出。
|