如何打印与我的显示器对齐

时间:2014-05-20 10:55:26

标签: java printing alignment output

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

对不起上一个问题&gt;&lt; 这是我上面命令的输出。 所需的输出是:

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

2 个答案:

答案 0 :(得分:1)

说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)

答案 1 :(得分:0)

嗯,你的意思是?:

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

应该做点什么