java - 使用 for 循环重复字符串

标签 java string for-loop

我对编程还很陌生。我正在尝试将给定字符串中的单词重复相同字符串中给定数字的次数。我决定遍历字符串并将每个字符添加到一个新字符串以打印出来,但我遇到了索引错误。

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() - 1i 的值超出了这个值,因为你的循环终止条件:

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/

相关文章:

java - GWT历史问题

java - OpenGL 有纹理的四边形和无纹理的四边形

python - 如何通过删除python中的重复项进行压缩?

java - 学习java,找不到符号

c# - 在字符串中搜索子字符串

java - 是否可以使用 for 循环在 java 中创建 n 个对象?

java - 访问客户端服务器设置中的对象

R:Kruskal-Wallis 循环测试数据框中指定的列

php - for inside for loop php不适用于两个表

java - 修复 OSGi 设置中 ByteBuddy 和 Vaadin 的类加载问题