StringBuilder

demo1

描述:
主要演示了StringBuilder类的使用。
首先创建一个空的StringBuilder对象s。
使用System.out.println()方法打印对象s,输出结果为""(空字符串)。
调用StringBuilder的append()方法多次,将字符串"aaa"、"bbb"和"ccc"依次追加到s中。
再次使用System.out.println()方法打印对象s,输出结果为追加后的字符串"aaabbbccc"。
调用StringBuilder的toString()方法,将s转换为字符串并打印,输出结果同上。
调用StringBuilder的reverse()方法,将s中的字符顺序反转,并打印输出结果为"cccbbaaa"。
调用StringBuilder的length()方法,获取s的长度(即字符个数)并打印输出结果为9。
package StringBuilder;

public class Demo1 {
    public static void main(String[] args) {
        StringBuilder s = new StringBuilder();
        //因为StringBuilder是Java已经写好的类
        //Java在底层对他做了一些特殊处理
        //打印对象不是地址值而是属性值
        System.out.println(s);
        //链式编程思想
        s.append("aaa").append("bbb").append("ccc");
        System.out.println(s);
        System.out.println(s.toString());
        System.out.println(s.reverse());
        System.out.println(s.length());
    }
}

demo2

描述:
该函数通过Scanner从控制台获取用户输入的字符串,使用StringBuilder对该字符串进行翻转,并将翻转后的字符串与原始字符串进行比较,判断是否为对称字符串,并输出结果。
package StringBuilder;

import java.util.Scanner;

public class Demo2 {
    public static void main(String[] args) {
        //使用StringBuilder的场景
        //1.字符串的拼接 2.字符串的翻转
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = sc.next();
        StringBuilder sb = new StringBuilder(str);
        String start = sb.toString();
        String end = sb.reverse().toString();
        if (start.equals(end)) {
            System.out.println("是对称字符串");
        } else {
            System.out.println("不是对称字符串");
        }
    }
}

demo3

描述:
该函数的功能是将一个整型数组转换成一个字符串,以中括号包围,元素之间用逗号分隔。例如,对于整型数组{1, 2, 3},该函数将输出字符串"[1,2,3]"。
package StringBuilder;

public class Demo3 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i != arr.length - 1) {
                sb.append(arr[i]).append(",");
            } else {
                sb.append(arr[i]);
            }
        }
        sb.append("]");
        System.out.println(sb.toString());
    }
}

demo4

该程序通过用户输入一个字符串,将其转换为字符数组,然后通过随机打乱字符数组顺序,最后将打乱后的字符数组转换为字符串并输出。

package StringBuilder;

import java.util.Random;
import java.util.Scanner;

public class Demo8 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = sc.next();
        // 将字符串转换成字符数组
        char[] arr = str.toCharArray();
        System.out.println(disOrganize(arr));
    }

    public static String disOrganize(char[] arr) {
        Random r = new Random();
        int number = r.nextInt(arr.length);
        for (int i = 0; i < arr.length; i++) {
            char temp = arr[i];
            arr[i] = arr[number];
            arr[number] = temp;
        }
        // 将字符数组转换成字符串
        String result = new String(arr);
        return result;
    }
}

demo5

生成5位随机验证码,其中4位字母,1位数字,且数字位置随机

package StringBuilder;

import java.util.Random;

public class Demo9 {
    public static void main(String[] args) {
        char[] arr = new char[52];
        for (int i = 0; i < arr.length; i++) {
            if (i < 26) {
                arr[i] = (char) ('a' + i);
            } else {
                arr[i] = (char) ('A' + i - 26);
            }
        }

        Random r = new Random();
        String s1 = "";
        for (int i = 0; i < 4; i++) {
            int number1 = r.nextInt(arr.length);
            s1 += arr[number1];
        }

        int number2 = r.nextInt(10);
        s1 += number2;
        
        int number3 = r.nextInt(4);
        //字符串转字符数组
        char[] arr1 = s1.toCharArray();
        char temp = arr1[arr1.length - 1];
        arr1[arr1.length - 1] = arr1[number3];
        arr1[number3] = temp;
        
        //字符数组转字符串
        String s2 = new String(arr1);
        System.out.println(s2);
    }
}

demo6

判断字符串中最后一个单词的长度

package StringBuilder;

public class Demo11 {
    public static void main(String[] args) {
        String s = "lulushui sunshine";
        int count = 0;

        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) != ' ') {
                count++;
            }else {
                break;
            }
        }
        System.out.println("最后一个单词长度为:" + count);
    }
}

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值