美文网首页
day13-06/07-String(字符串练习1/2-去除字符

day13-06/07-String(字符串练习1/2-去除字符

作者: 姗婷 | 来源:发表于2020-06-07 21:39 被阅读0次

    /*
    1.模拟一个trim方法,去除字符串两端的空格
    思路:
    1.判断字符串第一个位置是否是空格,如果是继续向下判断,
    直到不是空格为止,结尾处判断空格也是如此。
    2.当开始和结尾都判断到不是空格时,就是要获取的字符串
    应用:就是判断用户名密码输入前后去掉空格

    2.将一个字符串进行反转,将字符串中指定部分进行反转,"abcdefg";abcfedcg
    思路:
    1.曾经学习过对数组的元素进行反转
    2,将字符串变成数组,对数组进行反转。
    3.将反转后的数组变成字符串。
    4,只要将反转的部分和结束为止作为参数传递即可

    class StringTes1
    {
        public static void main(String args[])
        {
            String s= "    ab cd   ";
            sop("("+s+")");
            //s=myTrim(s);
            //sop("("+s+")");
            sop("("+reverseString(s)+")");
        }
        public static void sop(String str)
        {
            System.out.println(str);
        }
        //练习二:将字符串进行反转
        public static String reverseString(String str,int start,int end)
        {
            //第1步:将字符串转换成数组,
            char[] chs = str.toCharArray();
            //第二步骤:将数组进行反转
            reserve(chs,start,end);
            //第三部:将反转后的数组转换成字符串;有两种,一种是构造函数,一种是静态方法
            return new String(chs);
            
        }
        public static String reverseString(String str)
        {
            return reverseString(str,0,str.length()-1);
        }
        //反转功能
        private static void reserve(char[] arr,int x,int y)
        {
            //包含头,不包含尾,所以end = y-1
            for(int start=x,end=y-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 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)       
        }
    }
    
    

    相关文章

      网友评论

          本文标题:day13-06/07-String(字符串练习1/2-去除字符

          本文链接:https://www.haomeiwen.com/subject/ouphtktx.html