Java-String和StringBuffer小练习。

StringBuffer练习一:

  • 把数组拼接成一个字符串
  • 分析:
    1.先将int类型的数组通过StringBuffer中的append()方法相加;
    2.然后将StringBuffer类型的字符串转型成String类型的字符串;、

代码如下:

public class StringBufferTest1 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};

        StringBuffer sb = new StringBuffer();

        for(int i=0;i<arr.length;i++){
            if(i==0){
                sb.append("[").append(arr[i]).append(",");
            }else if(i== arr.length-1){
                sb.append(arr[i]).append("]");
            }else {
                sb.append(arr[i]).append(",");
            }
        }

        //将StringBuffer转成String类型
        String s = sb.toString();
        System.out.println(s);
    }
}

StringBuffer练习二:

字符反转:

-方式一:倒着遍历然后拿String作字符串拼接
-方式二:将String转成StringBuffer类型,然后用后者的反转方法;最后在转型为String类型;

代码如下:

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

        //方式1:倒着遍历然后拿String做字符串拼接
        //方式2:将String转成StringBuffer类型,用其中的反转方法,最后再转回String类型
        StringBuffer sb = new StringBuffer(s);
        StringBuffer reverse = sb.reverse();
        String res = reverse.toString();
        System.out.println(res);
    }
}

String练习题一:

统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)

  • 分析
    1、首先定义三个变量分别统计不同字符的个数
    bigCount = 0;
    smallCount = 0;
    numberCount = 0;
    2、遍历字符串获取到每一个字符(另外一种遍历方式)
    for循环遍历字符串(length(),charAt())
    3、判断获取到的字符是属于哪一类的?
        bigCount++;
        smallCount++;
        numberCount++;

        怎么去判断字符是属于哪一类的呢?
        ASCII码值:
        'a': 97
        'A': 65
        '0': 48

    4、输出结果

代码如下:

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

        //1、首先定义三个变量分别统计不同字符的个数
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;

        //2、遍历字符串获取到每一个字符(另外一种遍历方式)
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            //3、判断获取到的字符是属于哪一类的?
            if (ch >= 'a' && ch <= 'z') {
                smallCount++;
            } else if (ch >= 'A' && ch <= 'Z') {
                bigCount++;
            } else if (ch >= '0' && ch <= '9') {
                numberCount++;
            }
        }

        //4、输出结果
        System.out.println("大写字母字符的个数为:" + bigCount);
        System.out.println("小写字母字符的个数为:" + smallCount);
        System.out.println("数字字符的个数为:" + numberCount);
    }
}

String练习二:

  • 把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)

分析:
"JavaHaDOOpHIve" ---> "Javahadoophive"

代码如下:

public class StringText1 {
    public static void main(String[] args) {
        String a = "JavaHaDOOpHIve";
        char ch = a.charAt(0);
        String ch1 = String.valueOf(ch);
        String a1 = a.toLowerCase(Locale.ROOT);
        String a2 =ch1.concat(a1.substring(1,a1.length()));
        System.out.println(a2);
    }
}

(重要)String练习三:

  • 统计大串中小串出现的次数

++方法分析++

1.定义一个大串
2.定义一个小串
3.定义一个变量统计小串出现的次数。
4.提前用if循环判断是否存在小串
5然后再if中作一次while循环,当返回 -1 时循环结束。

代码如下:

public class StringText2 {
    public static void main(String[] args) {
        String a = "woaijavawozhenaijavawozhendeaijavajavajava";
        String as = "java";
        int ix = a.indexOf(as);//第一次出现位置: 4
        int cont = 0;
        if(ix == -1){
            System.out.println("该大串中不包含小串");
        }else{
           while(ix != -1){
               cont++;
               int Start = ix+as.length();
               ix = a.indexOf(as,Start);
           }
        }
        System.out.println(cont);
posted @   a-tao必须奥利给  阅读(176)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示