zoukankan      html  css  js  c++  java
  • String练习

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



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


    */

    class StringTest
    {

        public static void sop(String str)
        {
            System.out.println(str);
        }
        public static void main(String[] args)
        {
            String s = "      ab cd      ";

            sop("("+s+")");
    //        s = myTrim(s);
    //        sop("("+s+")");

            sop("("+reverseString(s)+")");
            
        }


        //练习二:将字符串反转。
        /*
        思路:
        1,将字符串变成数组。
        2,对数组反转。
        3,将数组变成字符串。
        */

        public static String reverseString(String s,int start,int end)
        {
            //字符串变数组。
            char[] chs = s.toCharArray();

            //反转数组。
            reverse(chs,start,end);

            //将数组变成字符串。
            return new String(chs);
        }
        public static String reverseString(String s)
        {
            return reverseString(s,0,s.length());
            
        }

        private static void reverse(char[] arr,int x,int y)
        {
            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);
        }
    }


  • 相关阅读:
    c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集
    jquery,extjs中的extend用法小结
    JavaScript创建Map对象(转)
    ExtJS与jQuery的一点细节上的对比
    jQuery 的原型关系图,整体把握jQuery
    github网站介绍、并使用git命令管理github(详细描述)
    1.移植3.4内核-分析内核启动过程,重新分区,烧写jffs2文件系统
    6.移植uboot-支持yaffs烧写,打补丁
    5.移植uboot-设置默认环境变量,裁剪,并分区
    4.移植uboot-使uboot支持DM9000网卡
  • 原文地址:https://www.cnblogs.com/liangqiyuan/p/5676927.html
Copyright © 2011-2022 走看看