首页 > 解决方案 > 我如何在 java 中使用 printf 来打印格式化输出

问题描述

我正在尝试使用System.out.printf();java 中的函数格式化我的输出。
输出格式是这样的:

在输出的每一行中应该有两列:第一列包含字符串,并使用完全字符左对齐。第二列包含整数,以精确数字表示;如果原始输入的数字少于三位,则必须用零填充输出的前导数字。
=================================
java 100
cpp 065
python 050
============ =====================

标签: javaformattingprintf

解决方案


使用 String 的格式来格式化字符串,就像在 C 中的“sprintf”一样。

根据该参考,适应您的需要:

  • 用零填充左边:

    String.format("|%03d|", 93); // prints: |093|
    
  • 指定长度的字符串(包括最大值和最小值)

    String.format("|%-15.15s|", "Hello World"); |Hello World   |
    

    您希望左对齐,所以“-N”而不是 N 作为第一个值

Java 8 的官方格式参考:https ://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-

并格式化字符串文档:https ://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html#syntax


推荐阅读