黑马程序员技术交流社区

标题: 老师基础视频中的字符串反转的例子,运行结果怎么不对呢 [打印本页]

作者: luqh    时间: 2015-3-24 20:35
标题: 老师基础视频中的字符串反转的例子,运行结果怎么不对呢
本帖最后由 luqh 于 2015-3-24 20:36 编辑
  1. public class Test1 {
  2.         public static void main(String[] args) {
  3.                 String s = "abcd";
  4.                 s = reverseStr(s);
  5.                 sop(s);
  6.         }
  7.         public static void sop(String str) {
  8.                 System.out.println(str);
  9.         }

  10.         // 将字符串反转
  11.         public static String reverseStr(String str) {
  12.                 char[] cha = str.toCharArray();// 变数组
  13.                 reverse(cha);
  14.                 return new String(cha);
  15.         }

  16.         public static void reverse(char[] arr) {
  17.                 for (int start = 0, end = arr.length - 1; start < end; start++) {
  18.                         swp(arr, start, end);
  19.                 }
  20.         }

  21.         public static void swp(char[] arr, int x, int y) {
  22.                 char tmp = arr[x];
  23.                 arr[x] = arr[y];
  24.                 arr[y] = tmp;
  25.         }
  26. }
复制代码

作者: luqh    时间: 2015-3-24 20:37
按理说abcd的反转是dcba  可是我的运行结果怎么是dabc呢?
作者: 殷俊    时间: 2015-3-24 21:24
因为你end没有end--啊,你应该是忘了吧
作者: 绝望    时间: 2015-3-24 21:59
for (int start = 0, end = arr.length - 1; start < end; start++,end--)
作者: luqh    时间: 2015-3-24 23:08
绝望 发表于 2015-3-24 21:59
for (int start = 0, end = arr.length - 1; start < end; start++,end--)

多谢,疏忽了




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