【问题标题】:How to make align in java toString method如何在java toString方法中对齐
【发布时间】:2022-12-03 02:57:46
【问题描述】:

我使用 toString 并打印出如下所示的输出。我想使用 toString 将其像时间表一样对齐,但我做不到。

我打印什么

姓名:潘

编号:000912

应纳税所得额 85000.0

状态:S

税额:17000.0

我用什么 公共字符串 toString(){ return person+"\nTAXABLE INCOME" + taxableIncome +"\nSTATUS :"+status+ "\nTAX AMOUNT: " + taxAmount ; }

所需输出:

name    iCNO    taxableincome  taxableAmount

Poon    00654       6546546               465

所需的输出类似于我要打印的这种格式

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    您正在寻找类似的东西:

    String.format("%20s     %05d   %10dd   %12d", name, icNumber, income, amount);
    

    %20s的意思是:打印一个字符串,如果小于20个字符,就在右边加空格。 formatter page 解释了一切。 %05d 表示:打印一个数字,如果长度小于 5,则将其填充,并用零而不是空格填充。等等。

    【讨论】:

    • 你可以看到我最新的编辑我尝试了但仍然不知道如何制作它'
    【解决方案2】:

    在您的班级中,您首先需要创建 Getters:

    public void getName(){
    return name;
    }
    public void geticNumber(){
    return icNumber;
    }
    public void getincome(){
    return income;
    }
    public void amount(){
    return amount;
    }
    

    之后,您可以在 Main 中打印出所需的文本:

    System.out.println("name     iCNO     taxableincome     taxableAmount);
    System.out.printf("%s     %d     %d     %d",yourClass.getName(),yourClass.geticNumber(),yourClass.getincome(),yourClass.amount())
    

    或者,您可以像这样在 Class 中编辑 .toString :

    String format = String.format("name     iCNO     taxableIncome     taxableAmount%n%s     %d     %d     %d",person,taxableIncome,status,taxAmount);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2015-12-05
      • 2013-08-10
      • 1970-01-01
      相关资源
      最近更新 更多