在 Java 中使用 .repeat() 方法时找不到符号(代码在 Netbeans 中运行)

Cannot find symbol while using .repeat() method in Java (The code is working in Netbeans)

我正在解决 Java 中的一个问题,它在 Netbeans 中完美运行,没有任何错误消息,但是我上传代码的网站编译器给我以下错误:

Compile error:  Main.java:16: error: cannot find symbol
            String finalString = newString.repeat(n + 1);
                                          ^
  symbol:   method repeat(int)
  location: variable newString of type String

我的代码:

Scanner sc = new Scanner(System.in);

        String myString = sc.nextLine();
        int n = sc.nextInt();
        String finalString = "";

        for (int i = 0; i < myString.length(); i++) {
            String newString = myString.substring(n + 1, myString.length());

            finalString = newString.repeat(n + 1);

        }
        System.out.println(finalString);
    }
}

示例输入:
你好
2

示例输出:
洛洛洛

String.repeat 是在 Java 11 中添加的。据推测,您要上传到的网站使用较旧的 JDK。

如果您不能 modify/upgrade 那里的 JDK,您可以自己实现相同的逻辑,例如,通过使用 Collections.nCopies 然后流式传输并加入它们:

finalString = Collections.nCopies(n + 1, newString).stream().join(Collectors.joining(""));

String.repeat 自 Java 11 版本以来已包含在内。 也许您正在使用的网站的 JDK 版本低于 11。

使用您始终可以将此代码用于字符串重复:

String s = "Hello";
System.out.println(Collections.nCopies(3,s));

为了进一步的程序,我建议您将项目 JDK 更新到各自 IDE 中的最新项目。