java使用for循环重复字符串
我对编程相当陌生。我试着在一个给定的字符串中重复这个单词,在同一个字符串中重复给定的次数。我决定循环遍历字符串,并将每个字符添加到一个新字符串中以打印出来,但我得到了一个索引外错误
final String string = "Hello";
final int num = 3;
int number = string.length() * num;
String str = "";
for (int i = 0; i < number; i++) {
str += string.charAt(i);
}
System.out.println(str);
# 1 楼答案
简单点
如果你想在一个新的
String
中得到你的结果,你可以这样做:# 2 楼答案
零基索引
出现错误是因为
i
的值超出了Hello
中可用的最后一个索引。Hello
中的最后一个索引是"Hello".length() - 1
,而i
的值超出了该值,因为循环终止条件:顺便说一句,如果你想重复
Hello
3次,你应该像这样做演示:
String#repeat
使用Java 11+,您可以通过使用^{} 在不使用循环的情况下实现这一点:
演示:
# 3 楼答案
在这里加上这个,因为你说你正在学习。 Java有一个StringBuilder类,非常易于使用
根据这一点,使用StringBuilder的工业类要比串联高效得多
StringBuilder vs String concatenation in toString() in Java