如何打印与我的显示对齐

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 

假设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)

嗯,你的意思是?:

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

它应该做一件事