java - 如何在控制台输出上对齐字符串

标签 java string console formatter

我必须编写代码:

Multiplication Tables  Description: Print out the grade school multiplication table upto 12*12

我写了代码:

public class tables {
    public static void main(String[] args) {
        //int[][] table = new int[12][12];
        String table="";
        for(int i=1; i<13; i++){
            for(int j=1; j<13; j++){
                //table[i-1][j-1] = i*j;
                table+=(i*j)+" ";
            }
            System.out.println(table.trim());
            table="";
        }
    }
}

但问题在于输出格式。我需要像时尚矩阵一样的输出,每个数字的宽度都设置为 4(数字右对齐并去掉每行的前导/尾随空格)。我试过 google 但没有找到解决我问题的好方法。谁能帮帮我?

最佳答案

您可以使用 format() 根据您的需要格式化您的输出..

    for(int i=1; i<13; i++){
        for(int j=1; j<13; j++){

           System.out.format("%5d", i * j);
        }
        System.out.println();  // To move to the next line.
    }

或者,您也可以使用:-

System.out.print(String.format("%5d", i * j));

代替 System.out.format..

这是%5d 工作原理的解释:-

  • 首先,因为我们要打印整数,所以我们应该使用 %d,它是整数的格式说明符。
  • 5 in %5d 表示输出的总宽度。因此,如果您的值为 5,它将打印为覆盖 5 个空格,如下所示: - ****5
  • %5d 用于右对齐。对于左对齐,您可以使用%-5d .对于值 5,这会将您的输出打印为:- 5****

关于java - 如何在控制台输出上对齐字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793593/

相关文章:

c# - 改变 console.WriteLine 的输出

java - 测试数据验证或行为验证

java - 如何在java中使用正则表达式将数字与字符串分开?

java - 如何用Java改变托盘图标?

java - 我想检查一个字符串是否包含重复超过三次的特定字符

c++ - 使用在 C 字符串中定位的两个 char* 获取子字符串

c++ - 我应该怎么做才能使用新的命令提示符窗口获取新进程?

javascript - 清除 Chrome 控制台

Java IntStream 或 LongStream 按值而不是按元素数限制

string - swift 在 String 上有 trim 方法吗?