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. java抛出异常后,后续代码是否可继续执行

    参考:https://www.cnblogs.com/wangyingli/p/5912269.html 仅此可正常执行异常后内容 try{ throw new Exception("参数越 ...

  2. xcode 8.1 (8B62)真机调试配置

    1.点击菜单栏中的Xcode->Preferences->Accounts,如图: 点击上图左下角中的“+”号,登陆一个Apple id(前提已经有了一个apple id账号), 2.然后 ...

  3. I.MX6 mkuserimg.sh hacking

    /*********************************************************************** * I.MX6 mkuserimg.sh hackin ...

  4. 协程的优点(Python)

    协程的优点: 协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间, 而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态.协程的执行效率非常高.因为子程序切换 ...

  5. 关于XAMPP Apache无法启动问题解决方案

    安装好XAMPP后,启动Apache服务启动失败,然后从xampp安装目录下执行apache_start.bat文件,如下图 显示443端口被占用. 解决方法: 启动cmd,输入netstat -a  ...

  6. jstree获取半选中节点的方法

    $('#jstree1').jstree().get_undetermined();返回一个数组,getPara();方法无法获取数组 get_undetermined ([full])  get a ...

  7. 【OpenJ_Bailian - 2192】Zipper(dfs)

    Zipper Descriptions: Given three strings, you are to determine whether the third string can be forme ...

  8. Fastjson详解

    Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种"假定有序快速匹配"的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON ...

  9. 最短路(Dijkstra) HDOJ 4318 Power transmission

    题目传送门 题意:起点s到终点t送电,中途会有损耗,问最小损耗是多少 分析:可以转换为单源最短路问题,用优先队列的Dijkstra版本,d[]表示从s出发到当前点的最小损耗,用res保存剩下的电量.当 ...

  10. 题解报告:hdu 1060 Leftmost Digit

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1060 问题描述 给定一个正整数N,你应该输出N ^ N的最左边的数字. 输入 输入包含多个测试用例. ...