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);}
}