黑马程序员技术交流社区

标题: 将字符串进行反转(已解决) [打印本页]

作者: 马超    时间: 2012-5-24 15:45
标题: 将字符串进行反转(已解决)
本帖最后由 依然小马哥 于 2012-5-24 16:19 编辑

package com.itcast.String;
将字符串进行反转  
为什么我写的代码总是出现数组角标越界异常呢??
错误提示:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

下边是我写的代码,求助啊。。
public class StringDemo02
{
public static void sop(String str)
{
  System.out.println(str);
}

public static String reverseString(String str)
{
  char[] arr = str.toCharArray();
  //反转数组:
  reverse(arr);
  
  return new String(arr);
}

private static void reverse(char[] arr)
{
  for(int start = 0,end = arr.length-1;start<end;start++,end++)
  {
   swap(arr,start,end);
  }
  
}

private static void swap(char[] arr,int x,int y)
{
  char temp = arr[x];
  arr[x] = arr[y];
  arr[y] = temp;
}

public static void main(String[] args)
{
  String str = "abcdegf";
  sop(str);
  sop(reverseString(str));
  
}

}


作者: 揭耀祖    时间: 2012-5-24 16:10
for(int start = 0,end = arr.length-1;start<end;start++,end++)

应该改成 for(int start = 0,end = arr.length-1;start<end;start++,end--)
楼主粗心了
作者: 马超    时间: 2012-5-24 16:17
jxj4227982333 发表于 2012-5-24 16:10
for(int start = 0,end = arr.length-1;start

唉。。就是啊,真是大意啊~~:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2