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. BZOJ_1670_[Usaco2006 Oct]Building the Moat护城河的挖掘_求凸包

    BZOJ_1670_[Usaco2006 Oct]Building the Moat护城河的挖掘_求凸包 Description 为了防止口渴的食蚁兽进入他的农场,Farmer John决定在他的农场 ...

  2. 【Usaco2008 Dec】Patting Heads

    [题目链接] 点击打开链接 [算法] 我们知道,每个编号为a[i]都要被编号是a[i]的约数的牛拍一次头(除了它自己),因此,只需用类似于筛法的方式统计答案, 即可 [代码] #include< ...

  3. STM32F4 LTDC学习

    很久没有写东西了,也很久没看文档了吼吼,觉得有点无聊,找来F4看看,主要看F429.督促自己多看多记录. 首先配置同步时序先看参考手册 下面看一个实际例子,一块439的开发板 设置: LTDC_Ini ...

  4. Bootstrap中的各种下拉菜单

    @*基本下拉菜单与按钮下拉菜单的样式完全一致.不过,基本的下拉菜单使用<div class="dropdown">包裹,所有要换行.而按钮式下拉菜单<div cl ...

  5. E20180225-hm-xa

    variation  n. 变化,变动; 变异,演变; 变奏曲; 变量; auxiliary adj. 辅助的 subscript  adj. 下标的,写在下方的,脚注的;  n. 下标,脚注,下角数 ...

  6. Ruby IO类

    更新: 2017/06/23   表格大小全部改为100%                             文件输入输出的File....系列函数的文件名参数是字符串! 更新: 2017/06 ...

  7. Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  8. bzoj 1863: [Zjoi2006]trouble 皇帝的烦恼【二分+dp】

    二分答案,注意l是max(a[i]+a[i+1]),r是sum_a 判断的时候用dp,设f[i]为i与1最少的相同颜色数,g[i]为i与1最多的相同颜色数,转移是f[i]=max(a[i]-(w-a[ ...

  9. bzoj 2087: [Poi2010]Sheep【凸包+极角排序+dp】

    首先处理处理出来哪些边能连--能把羊分成两个偶数部分的,实现是在凸包上枚举极点,极角排序,枚举凸包上点对判断两边羊的个数的奇偶即可,设可以连边为v[i][j]=1 然后设f[i][j]为从i到j个凸包 ...

  10. 暑期训练狂刷系列——Lightoj 1084 - Winter bfs

    题目连接: http://www.lightoj.com/volume_showproblem.php?problem=1084 题目大意: 有n个点在一条以零为起点的坐标轴上,每个点最多可以移动k, ...