通过查询java API中的String类完成任务

package com.String;public class A {
    public static void main(String[] args) {
        String str = "this is a test of java";
        t1(str);// static方法可直接调用
        t2(str);
        t3(str);
        t4(str);
        t5(str);
        t6(str);
        t8("123321");
    }    // 1.统计该字符串中字母s出现的次数
    public static void t1(String str) {        int num = 0;// 定义一个计数器
        for (int i = 0; i < str.length(); i++) {            char ch = str.charAt(i);// 获取当前位置的字符
            if (ch == ‘s‘) {
                num++;// 若有一个S,计数器+1
            }
        }
        System.out.println("字符串中共有:" + num + "个s");
    }    // 2.取出子字符串"test"
    public static void t2(String str) {        int beginIndex = str.indexOf("test");// 子字符串的位置第一次出现的位置
        int endIndex = beginIndex + 4;
        String s = str.substring(beginIndex, endIndex);
        System.out.println(s);
    }    // 3.用多种方式将本字符串复制到一个字符数组Char[]中
    public static void t3(String str) {        // 方法一:Char[] ch=str.toCharArray();
        // 方法二:
        char[] ch = new char[str.length()];// 定义一个数组
        for (int i = 0; i < str.length(); i++) {
            ch[i] = str.charAt(i);// 取出特定位置的字符交给数组
        }
        System.out.println(ch.length + "," + str.length());// 数组长度和字符串长度一致,则说明复制成功

    }    // 4.将字符串中每个单词的第一个字母变成大写, 输出到控制台。
    public static void t4(String str) {
        String[] ss = str.split(" ");// 以空格分出单词,得到字符串数组
        String result = "";        for (int i = 0; i < str.length(); i++) {            char c = ss[i].charAt(0);// 将单词的首字母取出
            String s = String.valueOf(c);// 将字符转为字符串 或者a-97,A-65
            String s1 = s.toUpperCase();// 变为大写
            System.out.println(s1);
            String s2 = s1 + ss[i].substring(1);// ss[i].substring(1):截取出每个单词中除了首字母之外剩下的字符串
            result = result + s2 + " ";
        }
        System.out.println(result);
    }    // 5.实现该字符串的倒序输出
    public static void t5(String str) {
        String s = new StringBuffer(str).reverse().toString();// 匿名对象调用reverse方法逆转之后,变成字符串
        System.out.println(s);
    }    // 6.将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
    public static void t6(String str) {
        String[] ss = str.split(" ");// 用空格分隔
        for (int i = 0; i < str.length(); i++) {            // 判断当前ss[i]是不是有效的单词:
            boolean b = true;// 定义标志量b,默认b有效
            for (int j = 0; j < str.length(); j++) {                if (!((ss[i].charAt(j) >= ‘a‘ && ss[i].charAt(j) <= ‘z‘) || (ss[i]
                        .charAt(j) >= ‘A‘ && ss[i].charAt(j) <= ‘Z‘))) {
                    b = false;// ss[i]不是单词,只要有一个不是就跳出循环
                    break;
                }
            }            if (b) {
                System.out.println(ss[i]);
            }
        }
        System.out.println("----------");
    }    // 8.判断输入字符串是否为回文(如 12344321、abccba是回文 112233不是)--对折后相同
    public static void t8(String str) {        //方法三:将字符串逆转,和原串相同,则为回文
        //方法二:前一半和后一半字符串做计较
        String s1 = str.substring(0, str.length() / 2);// 前一半字符串
        String s2 = str.substring(str.length() / 2 + (str.length() % 2),                str.length());// 后一半字符串
        String s3 = new StringBuffer(s2).reverse().toString();        if (s1.equals(s3)) {
            System.out.println("true");
        }
    }
}      // 7.实现该字符串的按词倒叙输出。(即输出siht si a tset fo avaj).
时间: 2024-08-02 04:08:48

通过查询java API中的String类完成任务的相关文章

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

java 中的String类

String a = "aaa"; 用这种方式的时候java首先在内存中寻找"aaa"字符串,如果有,就把aaa的地址给它 如果没有则创建 String a = new String("aaa"); 是不管内存中有没有"aaa" 都开辟一块新内存保存它 可以用以下方法验证下 String a = "aaa"; String b = "aaa"; String c = new String

java中的String类的不可变性的小例子

在java语言中,String类具有不可变性,即常量字符串不可更改.下面的一个小例子简单演示相关概念. 1 public class test { 2 public static void main(String []args){ 3 String str1="hello"; 4 System.out.println(str1); 5 tell(str1); 6 System.out.print(str1); 7 } 8 9 public static void tell(String

C++中关于string类的一些API总结

参考资料:https://www.cnblogs.com/X-Do-Better/p/8628492.html: https://blog.csdn.net/iot_change/article/details/8496977 一.前言 对于C++中的string类,需要使用的话,需要包含头文件<string>.string类在C++中属于一个模板类,位于命名空间namespace中,使用的时候需要加上下一语句. 1 using namespace std; 二.自身特性方面的API 1.in

为什么jdk中把String类设计成final

为什么jdk中把String类设计成final? 最佳答案: 主要是为了"效率" 和 "安全性" 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以String被定义成final. 其它答案一: String和其他基本类型不同,他是个对象类型.既然是对象类型,如果是在静态方法下是必须调用静态方法或值的,如果是非静态的方法,就必须要实例化. main函数是个static的.所以String要能像其他的基本类型一样直接被调用.这也是

标准C++中的string类的用法总结

标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用

标准C++中的string类的用法总结【转】

转自(略改动):http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 更全面新颖的说明见:http://www.cplusplus.com/reference/string/string/  说明: 1.size_t 是个unsigned integral type.  2.文中 c字符数组 是指末尾不带'\0'的,注意与 c字符串 的区别 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC

Java面试准备之String类专项突破+源码分析

String的源码中有很多Arrays的方法使用,建议先参阅Arrays的类库 基本介绍: String是一个比较特殊的类,有很多种建立的方法. 如果使用传统的构造方法比如 String s = new String("字符串");这时的对象会在堆上分配,这时候比较两个字符串地址就不相等,而用""双引号包起来的内容会在常量池中做停留,这时如果有两个内容一样的地址就一样了. 因此,使用==来比较字符串是不靠谱的. String类还实现了三个接口:Serializabl

Java项目中每一个类都可以有一个main方法

Java项目中每一个类都可以有一个main方法,但只有一个main方法会被执行,其他main方法可以对类进行单元测试. public class StaticTest { public static void main(String[] args) { Employee[] staff=new Employee[3]; staff[0]=new Employee("Tom",40000); staff[1]=new Employee("Dick",60000); s