A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© zhoubinjian 金牌黑马   /  2016-4-6 07:14  /  485 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
朋友们,以下代码输出不对,我觉得for循环只循环了一次,所以位置才交换了一次,我要的结果是 一个区间的元素交换,大家帮我找下。。不知道那里出了问题
*/
class Demo
{
        public static void main(String[] args)
        {                       
                String s="--ab-cd--";
                sop("<"+s+">");
                sop("<"+sun(s,3,6)+">");
                }       
        public static String sun(String str,int st,int en)
        {
                char[] arr=str.toCharArray();
                swap(arr,st,en);
                return new String(arr);
        }
        public static void res(char[] chs,int c,int d)
        {
                for(int start=c,end=d-1;start<end;start++,end--)
                {
                        swap(chs,start,end);
                }
        }

        public static void swap(char[] a,int x,int y)
        {       
                char temp=a[x];
                        a[x]=a[y];
                        a[y]=temp;       
        }
        public static void sop(Object e)
        {
                System.out.println(e);
        }       
}

6F32.tmp.png (79.84 KB, 下载次数: 9)

6F32.tmp.png

1 个回复

倒序浏览
{:2_36:}问题已解决,函数sun()里的swap改成res就可以了。。自己粗心大意
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马