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. 使用x-template 定义模板

    demo <script type="text/x-template" id="myFirstScriptComponent"> <p> ...

  2. ava Double: 四舍五入并设置小数点位数

    public static void main(String[] args) { // 1. 先乘后四舍五入, 再除; double d = 62.31060027198647; double d2 ...

  3. c语言和c++栈的简单实现以及构造器的原理

    也就是训练将原来的c语言 用类表示出来.. 关于构造器: //1与类名相同 没有返回值 被系统生成对象时自动调用,用于初始化 //2 可以有参数 构造器重载 默认参数 //3 重载和默认不能同时存在, ...

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

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

  5. UVA1437 String painter

    传送门 我们先考虑从一个空白串变成\(B\),这样的话用区间dp,区间dp,设\(f[l][r]\)表示区间\((l,r)\)的最小次数,当\(l==r\)时为\(1\),当\(s[l]==s[r]\ ...

  6. Phoenix数据覆盖的一种解决方案

    最近在做实时数仓,需要兼顾离线和实时两种查询方式,大致的方案是数据通过binlog抽取,经Phoenix插入,hive映射hbase表:Phoenix创建索引,实时查询Phoenix:离线查询hive ...

  7. taskkill帮助信息

    taskkill帮助信息: C:\Users\xusweeter>taskkill /? TASKKILL [/S system [/U username [/P [password]]]] { ...

  8. 467 Unique Substrings in Wraparound String 封装字符串中的独特子字符串

    详见:https://leetcode.com/problems/unique-substrings-in-wraparound-string/description/ C++: class Solu ...

  9. 203 Remove Linked List Elements 删除链表中的元素

    删除链表中等于给定值 val 的所有元素.示例给定: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6返回: 1 --& ...

  10. C. Two strings 二分 + 预处理

    http://codeforces.com/contest/762/problem/C 第一个串str[],第二个sub[] 预处理出prefix[i]表示sub的前i位和str[]的最长lcs去到s ...