用StringBuffer给定一个非空字符串 S 和一个整数 N (> 0)。 输出一个字符串,其中包含字符串 S 的字符,中间插入 N 个字符 *(星号)。
时间: 2023-05-14 11:04:46 浏览: 111
可以使用以下代码实现:
```
StringBuffer sb = new StringBuffer();
for (int i = 0; i < S.length(); i++) {
sb.append(S.charAt(i));
for (int j = 0; j < N; j++) {
sb.append("*");
}
}
String result = sb.toString();
System.out.println(result);
```
这段代码会遍历字符串 S 中的每个字符,并在每个字符后面插入 N 个星号,最后返回一个新的字符串。
相关问题
使用java编程,给定一个字符串 s 和一个整数 k,新建一个stringbuff,字符串的字符从下标为0开始反转,每隔k反反转k个字符,将反转后的字符金额未反转的字符通过stringbuff追加,返回一个 新的字符串
好的,我理解了你的问题。以下是Java代码:
```
public static String reverseAndGroup(String s, int k) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i += k) {
int left = i;
int right = Math.min(i + k - 1, s.length() - 1);
while (left < right) {
char tmp = s.charAt(left);
sb.append(s.charAt(right));
sb.setCharAt(right, tmp);
left++;
right--;
}
for (int j = i; j <= right; j++) {
sb.append(s.charAt(j));
}
}
return sb.toString();
}
```
以上代码将给定的字符串s按照每隔k个字符进行反转,然后将反转后的字符和未反转的字符通过StringBuffer追加,并最终返回一个新的字符串。注意,该代码使用了StringBuilder而不是StringBuffer,因为StringBuilder的性能更好。
1、列举常用的java系统包?哪个包不需要用import导入? 2、如何获取字符串长度、数组长度? 3、如何判断两个字符串是否相等? 4、如何获取字符串指定位置的字符? 5、怎样把字符串转小写或大写? 6、如何去除字符串首尾空格? 7、怎样判断一个字符串是否以另外字符串开头或结束? 8、使用String对象的求子串方法substring()要注意什么?“abcde".substring(0,3)的结果是什么? 9、如何判断一个字符串是另一个的子串? 10、将一个字符串按指定定界符分割成字符串数组用什么方法,举例说明。 11、字符串和字符数组如何相互转换? 12、String和StringBuffer的区别,如何互相转化? 13、如何求字符串的逆序字符串? 14、Integer类中2,8,16进制=》10进制,10进制转2,8,16进制的方法。 15、获取给定日期(比如你的生日)星期几的方法,举例说明。 16、字符串和整数(实数)之间互相转换的方法? 17、如何计算一段代码的执行时间? 18、如何实现两个数组内容的拷贝? 19、已知window下任意文件名,返回该文件的扩展名。 20、以"年-月-日 小时:分钟:秒"的格式显示当前时间,年4位,月、日、小时、分钟、秒占2位,小时是24进制的。 21、任给两个日期,求它们相差的天数?(可考虑用日期时间类实现),给出1990-10-1和2000-3-1相差的天数的结果值。
1、常用的java系统包包括java.lang、java.util、java.io、java.net等,其中java.lang包不需要用import导入。
2、字符串长度可以通过str.length()方法获取,数组长度可以通过arr.length获取。
3、可以使用str1.equals(str2)方法判断两个字符串是否相等。
4、可以使用str.charAt(index)方法获取字符串指定位置的字符。
5、可以使用str.toUpperCase()将字符串转为大写,使用str.toLowerCase()将字符串转为小写。
6、可以使用str.trim()方法去除字符串首尾空格。
7、可以使用str.startsWith(subStr)方法判断一个字符串是否以另一个字符串开头,使用str.endsWith(subStr)方法判断一个字符串是否以另一个字符串结尾。
8、使用String对象的求子串方法substring()要注意参数的含义,使用"abcde".substring(0,3)会返回字符串"abc"。
9、可以使用str.indexOf(subStr)方法判断一个字符串是否包含另一个字符串。
10、可以使用str.split(delimiter)方法将一个字符串按指定分隔符分割成字符串数组,例如"hello,world".split(",")会返回数组["hello","world"]。
11、可以使用String类的构造函数或valueOf()方法将字符数组转为字符串,可以使用str.toCharArray()方法将字符串转为字符数组。
12、String类是不可变的,每次修改都会创建一个新的String对象,而StringBuffer类是可变的,可以动态修改字符串内容。可以使用StringBuffer的toString()方法将其转为String,可以使用String的valueOf()方法将其转为StringBuffer。
13、可以使用StringBuilder的reverse()方法将字符串反转。
14、可以使用Integer的parseInt(String s, int radix)方法将2,8,16进制的字符串转为10进制的整数,可以使用Integer的toBinaryString(int i)、toOctalString(int i)、toHexString(int i)方法将10进制的整数转为2,8,16进制的字符串。
15、可以使用Java中的Calendar类来获取给定日期的星期几,例如:
```
Calendar cal = Calendar.getInstance();
cal.set(1995, Calendar.MAY, 23);
int weekDay = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("1995年5月23日是星期" + weekDay);
```
16、可以使用Integer.parseInt(String s)将字符串转为整数,可以使用Integer.toString(int i)将整数转为字符串。可以使用Double.parseDouble(String s)将字符串转为实数,可以使用Double.toString(double d)将实数转为字符串。
17、可以使用System.currentTimeMillis()方法获取当前时间的毫秒数,执行代码前后调用此方法,并求差值即可计算出代码执行的时间。
18、可以使用System.arraycopy()方法或使用循环逐个复制数组元素来实现两个数组内容的拷贝。
19、可以使用String类的lastIndexOf()方法和substring()方法来获取文件扩展名,例如:
```
String fileName = "test.java";
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println("文件扩展名为:" + fileExt);
```
20、可以使用SimpleDateFormat类来将日期格式化输出,例如:
```
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(now);
System.out.println(dateStr);
```
21、可以使用Java中的Calendar类来计算两个日期相差的天数,例如:
```
Calendar cal1 = Calendar.getInstance();
cal1.set(1990, Calendar.OCTOBER, 1);
Calendar cal2 = Calendar.getInstance();
cal2.set(2000, Calendar.MARCH, 1);
long diffDays = (cal2.getTimeInMillis() - cal1.getTimeInMillis()) / (24 * 60 * 60 * 1000);
System.out.println("相差的天数为:" + diffDays);
```
阅读全文