使用printf来打印列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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,因为这将在这两列之间留出更大的空间。

以上是关于使用printf来打印列的主要内容,如果未能解决你的问题,请参考以下文章

外层循环循环控制行,内层循环控制列——打印菱形

用宏定义代替printf函数

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

STM32为啥要用重定向printf来打印串口数据?直接用串口发送函数不行吗

如何在没有来自 c 库的 printf 的情况下在汇编级编程中打印整数?

如何在没有来自 c 库的 printf 的情况下在汇编级编程中打印整数?