如何在Java中格式化一个简单的表?

时间:2016-02-03 12:48:10

标签: java

我正在寻找一种方法来创建一个如下所示的表: Table to be created.

这是我的代码到目前为止的样子:

object

3个问题:

  1. 如何在新线上打印每张照片?从图像中可以看出,我希望最后一行为C [tab] Kol [tab] 6 [tab] 12.01 [tab] 6,例如。
  2. 如何在每个印刷品之间制作标签?
  3. 当我编译并运行时,似乎public class YourName { public static void main(String[] args) { System.out.println("Tecken \tGrundamne \tAtomnummer \tAtommassa \tMasstal"); System.out.println("=================================================================="); System.out.print("Ag \tSilver"); int agNumber = 47; float agMass = 107.8682f; float agMasstal = Math.round (agMass - agNumber); System.out.print(agNumber); System.out.print(agMass); System.out.print(agMasstal); System.out.print("Au \tGuld"); int auNumber = 79; float auMass = 196.96654f; float auMasstal = Math.round (auMass - auNumber); System.out.print(auNumber); System.out.print(auMass); System.out.print(auMasstal); System.out.print("C \tKol"); int cNumber = 6; float cMass = 12.01f; float cMasstal = Math.round (cMass - cNumber); System.out.print(cNumber); System.out.print(cMass); System.out.print(cMasstal); } } 包含一个小数,我希望它没有,如附图所示。
  4. 请不要介意瑞典的标题和文字。

    非常感谢!

3 个答案:

答案 0 :(得分:1)

您可以使用String.format来充分利用您的代码。

public class MyClass {
    private static final String HEADER_LINE = "Tecken \tGrundamne \tAtomnummer \tAtommassa \tMasstal"
    private static final final String SEPARATOR = "==================================================================";
    final String LINE_TEMPLATE = "%s \t%s \t %d\t %f\t %d";

    public static void main(String... args) {
        System.out.println(HEADER_LINE);
        System.out.println(SEPARATOR);
        System.out.println(String.format(LINE_TEMPLATE, "Ag", "Silver", agNumber, agMass, agMasstall));
        System.out.println(String.format(LINE_TEMPLATE, "Au", "Gold", auNumber, auMass, auMasstall));
     }
}

答案 1 :(得分:0)

  1. 使用`System.out.println(" text");它在文本后面插入一个换行符,或者将换行符插入到你需要的位置" \ n"。
  2. 插入" \ t",例如System.out.print(cNumber+"\t");
  3. 使用long代替float作为舍入值,因为float是一个浮点数。

答案 2 :(得分:0)

  1. 如何在新线上进行每次打印?从图像中可以看出,我希望最后一行为C [tab] Kol [tab] 6 [tab] 12.01 [tab] 6,例如。

    答案:使用System.out.println(agNumber);

  2. 如何在每个印刷品之间制作标签?

    答案:使用System.out.println(agNumber+"\t")

  3. 当我编译并运行时,似乎Math.round包含一个小数,我希望它没有,如附图所示。

    答案:使用long而不是float。