当前位置: 首页 > 知识库问答 >
问题:

重复整数n次

徐帅
2023-03-14

我想把一个整数变成一个金字塔。一、 E数字3:

3
33
333

因此,根据我找到的答案,我做了如下:

int n = 8;
String n2 = Integer.toString(n);

for (int i=0; i<n; i++) {
    System.out.println(StringUtils.repeat(n2, i));
}

但它不起作用,而且是次优的。有没有一种简单的方法可以在同一行中重复整数n次?

也不是很高兴,但似乎我不能只使用System.out.println(int x, int n次)

int n = 8;

for (int i=0; i<=n; i++) {
    for (int j=0; j<i; j++) {
        System.out.print(n + " ");
    }
    System.out.println("");
}

共有3个答案

巫马承德
2023-03-14

如下所示。

public class Test{

    public static String repeat(String str, int times) {
        return new String(new char[times]).replace("\0", str);
    }

    public static void main(String[] args) {
        for (int i = 1; i < 5; i++) {
            System.out.println(repeat("3", i));
        }
    }
}

输出

3
33
333
3333
金皓君
2023-03-14

我的意思是把int转换成字符串不是很好吗?难道没有直接的方法来处理整数吗

如果不想将int转换为string。

这可能会对你有所帮助。

    int n = 3;
    for (int i=1; i<=n; i++) {
    System.out.println(new String(new char[i]).replace("\0", n+""));
    }
马安邦
2023-03-14

好的,您可以使用Java-8流在没有显式循环的情况下执行此操作:

IntStream.range(1,n).forEach(i -> System.out.println(StringUtils.repeat(n2, i));

甚至没有apache commons:

 IntStream.range(0,n).forEach(i -> System.out.println(String.join("", Collections.nCopies(i+1, n2))));

但在任何情况下,所有这些方法在内部都使用循环。

 类似资料:
  • 想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。 你能展示一下你是否得到了一个由n个整数组成的数组吗。数组中的整数介于1和n-1之间。必须找到重复的整数。你需要在O(n)时间内完成,但你可以使用额外的空间。 输入格式:输入包含数组中的元素数,后跟数组中的元素。 输出格式:输出返回重复的整数,如果没有重复,则返回-1。 示例测试用例: 输入:5 1 4 3 2 3 输出:3 输入4

  • 问题内容: 在Perl中,我可以使用以下语法多次重复一个字符: 有没有简单的方法可以在Javascript中完成此操作?我显然可以使用一个函数,但是我想知道是否有任何内置方法或其他一些巧妙的技术。 问题答案: 如今,字符串方法几乎在所有地方都已实现。它不在InternetExplorer中。)因此,除非需要支持较旧的浏览器,否则只需编写以下内容: 在之前,我们使用了此技巧: (请注意,长度为11的

  • 上述情况导致 上述条件返回。 为什么会这样?这些片段之间有什么区别?

  • 我试图创建一个优先级队列,根据第一个元素的值对整数数组进行排序,但我遇到了一个问题,编译器抱怨在我的编译器lambda表达式中需要一个数组。知道我搞砸了什么吗?

  • 我正在做一个大项目,但对于这个问题,我写了一个简单的例子。我有两门课。 和 我得到以下输出: 但我想得到这个:

  • 整数包装类 我无法理解这种输出是如何形成的。我想了解这个整数中的“1000”是如何转换成字节中的“-24”的。我想知道这背后的逻辑。