实验 21 StringBuffer(补充) 实验要求 (1)将数组拼接成一个字符串,分别使用String和StringBuffer实现,比如int[] arr = {11,55,33 ,44 ,22} ;,形成这样一个字符串:[11, 55, 33, 44, 22] (2)从键盘录入一个字符串,分别使用String和StringBuffer实现字符串的反转 (3)判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串,分别使用(String和StringBuffer实现这个功能。
时间: 2024-02-06 14:10:29 浏览: 66
JavaScript 利用StringBuffer类提升+=拼接字符串效率
(1)使用 String 和 StringBuffer 实现数组拼接成字符串:
```java
int[] arr = {11, 55, 33, 44, 22};
// 使用 String 实现
String str1 = Arrays.toString(arr);
System.out.println(str1);
// 使用 StringBuffer 实现
StringBuffer sb = new StringBuffer("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]);
if (i != arr.length - 1) {
sb.append(", ");
}
}
sb.append("]");
String str2 = sb.toString();
System.out.println(str2);
```
输出结果:
```
[11, 55, 33, 44, 22]
[11, 55, 33, 44, 22]
```
(2)使用 String 和 StringBuffer 实现字符串反转:
```java
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
// 使用 String 实现
String reversedStr1 = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversedStr1 += str.charAt(i);
}
System.out.println(reversedStr1);
// 使用 StringBuffer 实现
StringBuffer sb = new StringBuffer(str);
String reversedStr2 = sb.reverse().toString();
System.out.println(reversedStr2);
```
输入一个字符串,比如 `hello`,输出结果:
```
olleh
olleh
```
(3)使用 String 和 StringBuffer 判断一个字符串是否是对称字符串:
```java
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
// 使用 String 实现
boolean isSymmetric1 = true;
for (int i = 0; i < str.length() / 2; i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
isSymmetric1 = false;
break;
}
}
System.out.println(isSymmetric1);
// 使用 StringBuffer 实现
StringBuffer sb = new StringBuffer(str);
sb.reverse();
boolean isSymmetric2 = str.equals(sb.toString());
System.out.println(isSymmetric2);
```
输入一个字符串,比如 `abba`,输出结果:
```
true
true
```
阅读全文