【问题标题】:Using printf to Print Columns使用 printf 打印列
【发布时间】:2020-02-23 22:30:04
【问题描述】:

我想在 Java 中使用带有 printf 的格式说明符来打印列。但是我似乎无法做到这一点。我希望数字完美对齐。

这是我想要的: enter image description here

这是我得到的: enter image description here

import java.util.Scanner;

public class LabTimeTable{

   public static void main(String [] args){
   Scanner input = new Scanner(System.in);

   System.out.println("Time Table:");

   System.out.print("Number (1-10): ");
   int number1 = input.nextInt();
   int number2 = (number1+1);

      for(int i = 1; i < 11; i++){

         System.out.printf("%2d * %d = %d", i, number1, (number1*i));
         System.out.printf("%12d * %3d = %d", i, number2, (number2*i));
         System.out.println();

      }


   }

}

【问题讨论】:

    标签: java printf


    【解决方案1】:

    我建议你使用这样的东西:

    System.out.printf("%2d * %d = %-10d", i, number1, (number1*i));
    System.out.printf("%d * %3d = %d", i, number2, (number2*i));
    System.out.println();
    

    这里我使用的是-10d,它为第一列的最后一个数字分配了10个字母空格,它也包括数字。 另请注意,我从第二列中删除了 12d,因为它会在这两列之间留出更大的空间。

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      相关资源
      最近更新 更多