繁体   English   中英

如何在 X 行中打印 X 个字符?

[英]How do you print X number of characters in X number of lines?

这是我在 Java class 的作业中遇到的问题。

问:编写一个 java 程序,使用单个System.out.print(“*”)打印以下 output

星星

我使用单个 printline 命令实现了上述目标。

class Example{
   public static void main(String[] args) {
      String star = "*";
      for (int a=0; a<5; a++) {
         System.out.println(star);
         star = star + " *";
      }
   }
}

但是我的教授想严格按照问题中的说明进行操作,因此只能使用单个System.out.print(“*”)。 提前致谢。

class Example{
   public static void main(String[] args) {
      for (int a=0; a<6; a++) {
          for (int b=0; b<a; b++) {
                    System.out.print("* ");
          }
          System.out.print("\n");
      }
   }
}

您可以在不使用 println 的情况下执行此操作,但您必须使用 print("\n") 来指示换行符。

您可以使用 print 方法而不是 print ln ,但您必须以某种方式添加转义序列 (\n)。 如果您不能在同一打印中添加换行符,您可以使用以下示例之一:

使用 2 个 for 循环:

for (int i = 1; i <= 5; ++i) {
    for (int j = 1; j <= i; ++j)
        System.out.print("* ");

    System.out.print("\n");
}

使用 1 for 循环和 String#repeat 作为助手:

for (int i = 1; i <= 5; i++) {
    System.out.print("* ".repeat(i));
    System.out.print("\n");
}

最后一个,使用 IntStream 和上面的重复(我不推荐它)

IntStream.rangeClosed(1, 5).forEach(c -> {
    System.out.print("* ".repeat(c));
    System.out.print("\n");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM