java - 使用 printf 打印列

标签 java printf

我想使用 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();

      }


   }

}

最佳答案

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

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,因为它会在这两列之间留出更大的空间。

关于java - 使用 printf 打印列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60367490/

相关文章:

java - 使用 EntityManager JPA EclipseLink 更新实体

java - JDBC语句执行时如何收集警告/通知?

C 打印整个字符串变量(忽略\0终止)

c - 格式化打印指针值

c - 我从 printf ("%d") 得到的输出是什么意思?

c - 为什么在 C 中打开/写入大量文件会失败?

java - 如何使用Oracle和JDBC获取SQL语句中错误的行号?

java - 使用 instanceof 运算符向下转型

java - 如何将服务器端的数据自动推送到swing客户端?

c - 格式化 printf 和额外的字符串打印?