Java教程

Java-22.1 String类小练习

本文主要是介绍Java-22.1 String类小练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、统计一个字符串中大写字母,小写字母,数字出现的次数

 /*需求:统计一个字符串中大写字母,小写字母,数字出现的次数

        "HadoopJava12138"
        结果:
        大写字符:2个
        小写字符:8个
        数字字符:5个

        分析:
        1.输入字符串
        2.大写计数:Acount
          小写计数:acount
          数字计数: count
       3.获取字符串的长度
       4,将字符串转换成字符数组
       5.遍历判断
*/

public class Stringtext1 {
    public static void main(String[] args) {
        String s = "HadoopJava12138";
        int Acount = 0;
        int acount = 0;
        int count = 0;
        //方式一  使用将字符串转换功能中的toCharArray()方法将字符串转化为字符数组
        char[] c = s.toCharArray();
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= 'a' && c[i] <= 'z') {
                acount++;
            } else if (c[i] >= 'A' && c[i] < 'Z') {
                Acount++;
            } else if (c[i] >= '0' && c[i] <= '9') {
                count++;
            }
        }

        //方式二  使用String类的获取功能的charAt()方法
//        for (int i = 0; i < s.length(); i++) {
//            char c = s.charAt(i);
//            if (c >= 'a' && c <= 'z') {
//                acount++;
//            } else if (c >= 'A' && c < 'Z') {
//                Acount++;
//            } else if (c >= '0' && c <= '9') {
//                count++;
//            }
//        }

        System.out.println("字符串中大写字符个数" + Acount);
        System.out.println("字符串中小字符个数" + acount);
        System.out.println("字符串中数字字符个数" + count);
    }
}

 2.把一个字符串的首字母转成大写,其余的都是小写。

/*
需求:把一个字符串的首字母转成大写,其余的都是小写。
 举例:"HadoOPJava"   --->  "Hadoopjava"
 分析:
            方式1:
                1、把字符串全部转成小写
                2、获取第一个字符,转成大写

            方式2:
                1、先获取第一个字符
                2、再获取除了第一个以外的字符
                3、把第一步的字符转成大写
                4、把第二部获取的字符转成小写
                5、把第三步和第四步的字符串拼接
                6、输出
*/

public class StringText2 {
    public static void main(String[] args) {
        String s = "HadoOPJava";

//        方法1
//        将字符串通过toLowerCase()方法全部转换为小写
//        String s1 = s.toLowerCase();
//        String s2 = s1.substring(0, 1).toUpperCase().concat(s1.substring(1));
//        System.out.println("字符串转换前"+s);//字符串转换前HadoOPJava
//        System.out.println("字符串转换后"+s2);//字符串转换后Hadoopjava

        //方法2
        //获取第一个字符
        String s1 = s.substring(0, 1);
        //获取除了第一个以外的字符
        String s2 = s.substring(1);
        //第一个字符转换为大写
        String s3 = s1.toUpperCase();
        //其他字符转换为小写
        String s4 = s2.toLowerCase();
        //两个字符串拼接
        String s5 = s3.concat(s4);
        //链式编程
        String concat = s.substring(0, 1).toUpperCase().concat(s.substring(1).toLowerCase());
        System.out.println("字符串转换前"+s);//字符串转换前HadoOPJava
        System.out.println("字符串转换后"+s5);//字符串转换后Hadoopjava
        System.out.println("字符串转换后"+concat);//字符串转换后Hadoopjava
    }
}

3.把数组中的数据按照指定个格式拼接成一个字符串

举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3]

/*
把数组中的数据按照指定个格式拼接成一个字符串
        举例:int[] arr = {1,2,3};    输出结果:[1, 2, 3]
        分析:
            1、定义一个空字符串
            2、先在字符串前面拼接一个"["
            3、遍历该int型数组,获取到每一个元素
            4、判断是否读到了最后一个元素,如果是,在后面拼接上一个"]"
            5、输出
*/
public class StringText3 {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        //定义一个空字符串
        String s = "";
        //先在字符串前面拼接一个"["
        s += "[";
        //遍历该int型数组,获取到每一个元素
        for (int i = 0;i<arr.length;i++){
            //判断是否读到了最后一个元素,如果是,在后面拼接上一个"]"
            if (i == arr.length-1){
                s += arr[i];
                s += "]";
            }else{
                s += arr[i];
                s += ",";
            }
        }
        //输出
        System.out.println("数组转换为数组为"+s);
    }
}

3.字符串反转

/*符串反转
        举例:键盘录入”abc”        输出结果:”cba”*/

import java.util.Scanner;

public class StringText5 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串");
        String s1 = sc.next();

        //方式一 ,倒序遍历字符串数组
        //将字符串转换为字符数组
        char[] c1 = s1.toCharArray();
        //定义一个空字符串
        String s2 ="";
        for (int i =c1.length-1;i>=0;i--){
          s2 += c1[i];
        }
        //输出
        System.out.println("字符串反转前:"+s1);
        System.out.println("字符串反转结果:"+s2);
//        //方式二 遍历反转
//        //将字符串转为字符数组
//        char[] c = s1.toCharArray();
//        for (int start = 0, end = c.length - 1; start <= end; start++, end--) {
//            char temp = c[start];
//            c[start] = c[end];
//            c[end] = temp;
//        }
//        String s2 = new String(c);
//        //输出
//        System.out.println("字符串反转前:"+s1);
//        System.out.println("字符串反转结果:"+s2);
    }
}

 4.统计大串中小串个数

/*
        统计大串中小串出现的次数
        举例:ehenaijavaxindeaijavawozhendehenaijavaxindeaijavawozhendehenaijavaxin”

        java 出现的次数

 */
public class StringText4 {
    public static void main(String[] args) {
        //创建大串字符串
        String s = "ehenaijavaxindeaijavawozhendehenaijavaxindeaijavawozhendehenaijavaxin";
        //定义count计数
        int count = 0;
        //创建小串字符串
        String s1 = "java";
        //找到小串在大串第一次出现的索引
        int i = s.indexOf(s1);
        if(i==-1){
            System.out.println("字符串中没有找到小串");
        }else{
            while(i!=-1){
                count++;
                //截取字符串
                //定义字符串截取位置变量j
                int j = i +s1.length();
                //第一次找到子字符串以后在此后截取字符串并覆盖大字符串,通俗的讲就是找到一个子字符串然后删除找到位置之前的字符
                s = s.substring(j);
                //同时实时更新新字符串中包含子字符串索引值,知道找不到为止
                i = s.indexOf(s1);
            }
        }
        System.out.println(s);//xin
        System.out.println(i);//-1
        System.out.println("输入大串中java出现次数:"+count);//输入大串中java出现次数:5
    }
}

 

这篇关于Java-22.1 String类小练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!