JAVA使用printf打印问题

时间:2018-06-02 07:44:54

标签: java

我在打印代码时遇到了一些问题。我希望我的结果整齐排列,但不是那样的。如果有人可以帮我解决这个问题,我将非常感激。

我的代码如下:

UIViewController

我在屏幕上看到的结果如下

enter image description here

2 个答案:

答案 0 :(得分:1)

根据Formatting Numeric Print Output

  

格式说明符以百分号(%)开头,以a结尾   转换器。转换器是指示类型的字符   要格式化的参数。在百分号(%)和。之间   转换器你可以有可选的标志和说明符

在这种情况下:

  1. %是格式语法必填前缀。
  2. -是左对齐的标志。
  3. 10表示宽度为十个字符,必要时带前导零。
  4. d,十进制整数。
  5. 所以你的主要方法应该是:

    public class Tst {
        public static void main (String[] args)
        {
            for(int j=1 ; j<=31;j++) {
                System.out.printf("%-10d",j);
                if(j%7==0) {
                    System.out.println();
                }
    
            }
        }
    }
    

    给出结果输出:

    enter image description here

答案 1 :(得分:1)

您的代码是正确的。但您应该在终端/控制台中使用MONOSPACED(固定宽度)字体,如Courier或Lucida Console:

  • 您在OS终端中使用的不是等宽字体
  • 或者您在IDE的控制台中不使用等宽字体
  • 或者您将输出转发到您在某些编辑器中再次使用非等宽字体
  • 查看的文件
  • 或类似的非等宽字体