如何打印与我的显示器对齐[重复]

Posted

技术标签:

【中文标题】如何打印与我的显示器对齐[重复]【英文标题】:How to print align with my display [duplicate] 【发布时间】:2014-07-08 14:24:33 【问题描述】:
for (int j = 0; j < numStu; j++)   

System.out.println((j + 1) + "\t" + StudentName[j] + "\t\t\t" + (Marks[j]) + "\t" + Grade[j]);  

 


No. Name            Marks   Grade
1   ADRIAN TAN          46.00   C-
2   KIM CHEE LIONG HAN          76.00   A-
3   PETER LIM AH MENG           64.00   B-
4   WAYNE WALKER            23.00   F

抱歉之前的问题>

No. Name                   Marks    Grade
1   ADRIAN TAN             46.00    C-
2   KIM CHEE LIONG HAN     76.00    A-
3   PETER LIM AH MENG      64.00    B-
4   WAYNE WALKER           23.00    F

【问题讨论】:

【参考方案1】:

嗯,你是这个意思吗?:

for (int j = 0; j < numStu; j++)   
System.out.println("\n" + (j + 1) + " " + StudentName[j] + "\t" + (Marks[j]) + "\t" +     Grade[j]);  

它应该做一件事

【讨论】:

这会解决条目长度不同,因此位于不同制表符括号中的问题 将整行放入ArrayList?【参考方案2】:

说 X 是你想要的长度,然后使用String.format("%-Xs",argument)。这会将字符串切割或延长到 X 长度。 % 符号后的 - 表示在字符串后添加空格。如果省略 - 符号,它仍然可以工作,但看起来很奇怪。

这是一个例子

String[] name = "Ben", "Jacob", "Tyler";
        int[] age = 5, 16, 25;
        int[] salary = 0, 1000, 100000;
        System.out.printf("No.\t%-10s\t%-10s\t%-10s\n", "Name", "Age", "Salary");
        for (int i = 0; i < name.length; i++) 
            System.out.println(String.format("%-3d\t%-10s\t%-10d\t%-10d", i, name[i], age[i], salary[i]));
        

编辑:从 String.format("%-X.Xs",argument) 更改为 String.format("%-Xs",argument)

【讨论】:

@RichardTingle 检查更新的答案 酷,有道理

以上是关于如何打印与我的显示器对齐[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法在打印预览中水平对齐图像

我如何垂直对齐具有不同高度的网格元素? [重复]

如何让键盘在我的 UITableView 中与我的 UITextField 一起显示?

如何正确显示和居中对齐我的响应式 youtube 视频?

为啥 $_SERVER["REMOTE_ADDR"] 显示的 IP 与我的外部 IP 不同? [复制]

使用 CSS HTML 垂直对齐提交按钮