我对编程还很陌生。我正在尝试将给定字符串中的单词重复相同字符串中给定数字的次数。我决定遍历字符串并将每个字符添加到一个新字符串以打印出来,但我遇到了索引错误。
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);
最佳答案
从零开始的索引
您收到错误是因为 i
的值超出了 Hello
中可用的最后一个索引。 Hello
中的最后一个索引是 "Hello".length() - 1
而 i
的值超出了这个值,因为你的循环终止条件:
i < string.length() * num;
顺便说一下,如果你想重复 Hello
3 次,你应该这样做
for(int i = 0; i < num; i ++){
System.out.print(string);
}
演示:
public class Main {
public static void main(String[] args) {
final String string = "Hello";
final int num = 3;
for (int i = 0; i < num; i++) {
System.out.print(string);
}
}
}
字符串#repeat
在 Java 11+ 中,您可以通过使用 String#repeat
在不使用循环的情况下执行此操作:
System.out.println(string.repeat(num));
演示:
public class Main {
public static void main(String[] args) {
final String string = "Hello";
final int num = 3;
System.out.println(string.repeat(num));
}
}
关于java - 使用 for 循环重复字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68597170/