黑马程序员技术交流社区

标题: 编译过不了。请问! [打印本页]

作者: 黑马张平    时间: 2012-4-4 21:36
标题: 编译过不了。请问!
class StringText
{
        public static void main(String[] args)
        {
                String s = "   abc dfe   ";
                sop(s);
                //String s1=myTrim(s);
                //sop(s1);
                reverseString(s,3,6);
        }
        public static void sop(String str)
        {
                System.out.println(str);
        }
        public static String myTrim(String str)
        {
                int start = 0 , end = str.length()-1;

                while (start<=end && str.charAt(start)==' ')
                {
                        start++;
                }
                while (start<=end && str.charAt(end)==' ')
                {
                        end--;
                }
                return str.substring(start,end+1);
        }
                //反转字符串
                //将字符串转成字符数组
                //将字符数组反转
                //将字符数组转成字符串。
        public static String reverseString(String str,int start,int end)
        {
                char[] chs = str.toCharArray();
                reverse();
                return new String(chs);
        }
        public static void reverse(char[] arr,int x,int y)
        {
                for (int start=x,int end=y-1;start<end;start++,end--)
                {
                        swap(arr,start,end);
                }
        }
        public static void swap(char[] arr,int x ,int y)
        {
                char temp=arr[x];
                arr[x]=arr[y];
                arr[y]=temp;
        }
}
  





作者: 薛飞飞    时间: 2012-4-4 22:29
public static String reverseString(String str,int start,int end)
        {
                char[] chs = str.toCharArray();
                reverse();---------------------------------------------------------->没传参数怎么能调用下面 reverse(char[] arr,int x,int y)方法?
                return new String(chs);
        }

         public static void reverse(char[] arr,int x,int y)
        {
                for (int start=x,int end=y-1;start<end;start++,end)---------------->定义方式错误,应该是:                                                                        for (int start=x,iend=y-1;start<end;start++,end--)                {
                        swap(arr,start,end);
                }
        }
   

作者: 薛飞飞    时间: 2012-4-4 22:30
靠,多打一个字母...应该是:for (int start=x,end=y-1;start<end;start++,end--) ,end前是不能加int的.....
作者: 黑马张平    时间: 2012-4-4 22:34
我已经解决了,确实是上面二个问题。当时没注意!谢谢




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