练习-Java字符串之StringBuffer类之往字符串中插入数字
时间: 2024-05-10 09:16:51 浏览: 174
要往字符串中插入数字,可以使用 `StringBuffer` 类的 `insert()` 方法。该方法可以在指定位置插入指定的数据类型,包括数字。
下面是一个示例代码,演示如何往字符串中插入数字:
```java
public class InsertNumberToString {
public static void main(String[] args) {
int num = 123;
StringBuffer sb = new StringBuffer("Hello, world!");
sb.insert(7, num);
System.out.println(sb.toString());
}
}
```
输出结果为:
```
Hello, 123world!
```
在上述代码中,首先定义了一个整型变量 `num`,其值为 123。然后,创建了一个 `StringBuffer` 对象 `sb`,其初始值为 `"Hello, world!"`。接着,调用 `sb.insert(7, num)` 方法,在字符串中的第 7 个位置插入了 `num` 的值。最后,将 `sb` 对象转换为字符串并输出。
需要注意的是,`insert()` 方法的第一个参数是要插入的位置,从 0 开始计数。在上述代码中,由于要在字符串的第 7 个位置插入数字,因此第一个参数是 7。第二个参数是要插入的数据,可以是任何数据类型。在本例中,由于要插入整数,因此传入了整型变量 `num`。
相关问题
练习2-stringbuffer 将字符串中的每个单词首字母转换为大写。
练习2中,关于StringBuffer的一个常见任务是将字符串中的每个单词的首字母转换为大写。这通常通过以下几个步骤完成:
1. 创建一个StringBuffer对象,初始值为输入的字符串。
2. 使用`split()`方法将字符串按空格拆分成单词数组,因为默认情况下它会分割所有空白字符。
3. 遍历这个单词数组,对于每个单词,使用`substring(0, 1)`获取首字母,然后用`toUpperCase()`将其转换为大写。
4. 使用`StringBuilder`的`insert(int index, CharSequence sequence)`方法,在原来的位置插入首字母的大写形式。
5. 然后将剩余部分追加回StringBuffer。
6. 最后,使用`toString()`方法将处理后的StringBuffer转换回字符串。
下面是一个简单的Java示例代码实现:
```java
public String capitalizeWords(String input) {
StringBuffer stringBuffer = new StringBuffer(input);
String[] words = stringBuffer.toString().split("\\s+");
for (int i = 0; i < words.length; i++) {
if (!words[i].isEmpty()) { // 有些情况下可能会有空格,如"word ",所以检查一下
stringBuffer.insert(i, Character.toUpperCase(words[i].charAt(0)));
stringBuffer.deleteCharAt(i + 1); // 删除原来的首字母,防止重复插入
}
}
return stringBuffer.toString();
}
```
阅读全文