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