我想使用 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/