检查下一个字符是否是数组的末尾 - java

Check that the next char is end of array - java

因此尝试创建一个遍历字符串并检查每个字符的元音的方法。

然而,当它到达末尾并对字符进行前向检查时。我得到一个字符串越界异常。我尝试为前面的字符添加空格检查,但仍然出现异常。

   for (char i = 0; i < buffer.length; i++) {
                if (isVowel(key.charAt(i + 1)) && !Character.isWhitespace(key.charAt(i + 1))   {
                 buffer[i] = key.charAt(i);
                } else {
                  break;
                }
            }
  for (char i = 0; i < buffer.length-1; i++) {
            if (isVowel(key.charAt(i + 1)) && !key.charAt(i + 1) && !Character.isWhitespace(key.charAt(i + 1))   {
             buffer[i] = key.charAt(i);
            } else {
              break;
            }
        }

创建正确大小的缓冲区,如

char[] keyChar = key.toCharArray();
char[] buffer = new char[keyChar.length]; //same size

然后,迭代键,而不是缓冲区

for(int i = 0; i < keyChar.length -1; ++i) 

不要走到最后,因为你在逻辑中使用了 [i + 1]。

请注意,这将忽略最后一个字符,您必须查看缓冲区中是否需要最后一个字符。如果是这样,您将需要添加它(显然没有检查下一个)