public class StringTest {
     //1.模拟trim方法,去除字符串两端的空格
     public static void main(String[] args) {
         String str = "  ai  kang        ";
         char c = str.charAt(0);
        while (true){
            if(str.startsWith(" ")){
                str = str.substring(1);
            }else if(str.endsWith(" ")){
                str = str.substring(0,str.length()-1);
            }else{
                break;
            }
        }
         System.out.println(str);
     }
 }
public class StringTest01 {
    //2.将一个字符串进行反转,将字符串中指定部分进行反转,比如"abcdefg"反转
    public static void main(String[] args) {
        String str = "abcdefg";
        StringTest01 stringTest01 = new StringTest01();
        String s = stringTest01.StringDemo01(str, 1);
        System.out.println(s);
        String s1 = stringTest01.StringDemo02(str, 1);
        System.out.println(s1);

    }

    //方法一
    public String StringDemo01(String string,int start){
        String str =string;
        char[] c = str.toCharArray();
        for (int i = start; i < str.length()/2; i++) {
            char c1 = c[c.length-i-1];
            c[c.length-i-1] = c[i];
            c[i] = c1;
        }
        return new String(c);
    }

    //方法二
    public String StringDemo02(String string,int start){
        StringBuilder str = new StringBuilder(string.length());
        char[] c = string.toCharArray();
        str.append(string.substring(0,start));
        for(int j = string.length()-1-start;j>=start;j--){
            str.append(c[j]);
        }
        str.append(string.substring(string.length()-start));
        return new String(str);
    }

}
 public class StringTest02 {
     //3.获取一个字符串在另一个字符串中出现的次数如"ab"在"abkkcadkabkebfabkskab"中出现的次数
     public static void main(String[] args) {
         String str = "abkkcadkabkebfabkskab";
         String indexstr = "ab";
         StringTest02 stringTest02 = new StringTest02();
         int i = stringTest02.indexNum(str, indexstr);
         System.out.println(i);

     }
    public int indexNum(String str,String indexstr){
        int num = 0;
        for(;;){
            int i = str.indexOf(indexstr);
            if(i != -1){
                str = str.substring(i+indexstr.length());
                num++;
            }else{
                return num;
            }
        }

    }
 }

java_String类练习的更多相关文章

  1. java_String类的功能

    String类使用了final修饰不能被继承 实现类Serializable接口,字符串支持序列化 实现了Comparable接口,字符串可以比较大小 内部定义final char[] value用于 ...

  2. java_String类、StringBuilder类、Arrays类、Math类的使用

    String类 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 “abc” )都可以被看作是实现此类的实例 构造方法 java.lang.String :此类不需 ...

  3. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  4. Java_String&StringBuilder&StringBuffer类

    目录 一.String类 二."==" 和 "equals"的区别 三.StringBuffer和StringBuilder 一.String类 String为 ...

  5. 作业10:String类

    一.基本案例 1.new String("helloworld") 与 "helloworld" public static void main(String[ ...

  6. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  7. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  8. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  9. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

随机推荐

  1. python dig trace 功能实现——通过Querying name server IP来判定是否为dns tunnel

    dns tunnel确认方法,查询子域名最终的解析地址: 使用方法:python dig_trace.py  "<7cf1e56b 67fc90f8 caaae86e 0787e907 ...

  2. codeforces 682C C. Alyona and the Tree(dfs)

    题目链接: C. Alyona and the Tree time limit per test 1 second memory limit per test 256 megabytes input ...

  3. apache-ab并发负载压力测试 不错

    ab -n 3000 -c 3000 http://www.test.com/ c 100 即:每次并发3000 个 n 10000 即: 共发送3000 个请求 ab -t 60 -c 100 ht ...

  4. bzoj 4753 最佳团体 —— 01分数规划+树形背包

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4753 注意赋初值为 -inf: eps 设为 1e-3 会 WA ... 代码如下: #in ...

  5. 深入理解JMM(Java内存模型) --(一)

    并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信 ...

  6. Logistic回归 线性回归(转)

    来源: http://www.cnblogs.com/jerrylead 1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习 ...

  7. TCP、UDP和HTTP关系

    TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.IP:网络层协议: TCP和UDP:传输层协议:TCP提供有保证的数据传输,UDP不提供. HTTP:应用层协议(超文本传输协议): 如 ...

  8. java笔记线程的生命周期图解

  9. asp.net mvc4 不支持EF6

    参考文章:http://www.cnblogs.com/zeusro/p/3403771.html http://q.cnblogs.com/q/40926/ 解决方法是 1.把EF6删除改用EF5. ...

  10. Integer和int的区别(转)

    public class TestInteger { public static void main(String[] args) { int i = 128; Integer i2 = 128; I ...