博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
String练习
阅读量:7120 次
发布时间:2019-06-28

本文共 1325 字,大约阅读时间需要 4 分钟。

/*

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);
    }
}

转载于:https://www.cnblogs.com/liangqiyuan/p/5676927.html

你可能感兴趣的文章
netty
查看>>
【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结 —— 持续更新
查看>>
你需要知道的 webpack 配置
查看>>
Android技术提升
查看>>
bind, apply, call
查看>>
Servlet 3.0 异步处理详解
查看>>
动画机制总结
查看>>
长长的望远镜
查看>>
在给予react的ANTD中如何改变某些固定项?
查看>>
慕课网_《使用Google Guice实现依赖注入》学习总结
查看>>
Calendar工具类对跨年的星期的处理个人总结
查看>>
云计算和DevOps那点事
查看>>
什么是客户端负载均衡
查看>>
【mongoDB查询进阶】聚合管道(二) -- 阶段操作符
查看>>
2017-07-15 前端日报
查看>>
Android布局优化:ViewStub标签实现延迟加载(源码解析原理)
查看>>
Webpack快速入门
查看>>
HandlerThread与AsyncQueryHandler源码分析
查看>>
caffe原理之softmax函数
查看>>
数据分组统计
查看>>