Java 在将除第一个和最后一个字母以外的所有字母加倍时修复越界错误
此代码应将消息中除第一个和最后一个字母外的所有字母加倍。修复代码,使其不会导致越界错误。 我不知道我哪里出了问题Java 在将除第一个和最后一个字母以外的所有字母加倍时修复越界错误,java,Java,此代码应将消息中除第一个和最后一个字母外的所有字母加倍。修复代码,使其不会导致越界错误。 我不知道我哪里出了问题 public class Loop2 { public static void main(String[] args) { String result = ""; String message = "watch out"; int pos = 0; while (pos < message.length()) {
public class Loop2
{
public static void main(String[] args)
{
String result = "";
String message = "watch out";
int pos = 0;
while (pos < message.length())
{
result = result + message.substring(pos,pos+2);
pos = pos + 1;
}
System.out.println(result);
公共类循环2
{
公共静态void main(字符串[]args)
{
字符串结果=”;
String message=“小心”;
int pos=0;
while(pos
}
}因为你的情况是:
pos < message.length()
它将抛出一个越界异常,因为pos将为1+message.length()
一个解决办法是将您的情况更改为
pos < message.length() - 1
pos
或者使用
charAt()
函数<当pos
为message.length()-1
时,code>charAt(i)返回索引i
处的字符串中的字符,您希望message.substring(pos,pos+2)
返回什么?将条件更改为pos
pos < message.length() - 1