簡體   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