Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在将除第一个和最后一个字母以外的所有字母加倍时修复越界错误_Java - Fatal编程技术网

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