无法获得平均值正确对齐
问题描述:
更多hw问题:D我需要有平均值对齐。我试过了,但学生的名字长短不一,使用printf
的作品在某种程度上有效,但名字比其他人长,但他们没有排队。我不知道如何让他们被一字排开无法获得平均值正确对齐
System.out.println("You Chose Student Average\n");
int avg;
while(inFile.hasNext())
{
name = inFile.next();
test1 = inFile.nextInt();
test2 = inFile.nextInt();
avg = (test1 + test2)/2;
System.out.print(name);
System.out.printf("%14d\n", avg);
}
System.out.print("\n");
然后这里是平均输出:
Robert 76
Joel 57
Alice 96
Jasmine 84
Larry 55
Elizabeth 82
Frank 70
Christine 28
Alex 26
Ariel 82
Luis 71
Nicole 64
Mitch 92
Randy 87
Tammy 87
Sarah 74
Samuel 73
Lauren 59
Deanna 98
Mathew 93
Justin 72
Beth 95
Rebecca 84
Paul 54
Lucy 45
什么办法呢?
答
您可以使用字符串格式化不仅仅是整数。 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax
但是,除非你有一个明确定义的最大名称长度,否则我认为你可以做的最好的是检查最大名称长度,然后为所有其他名称添加空格,直到它们匹配。
答
尝试使用“\ t”。像:
System.out.println("Name: \t" + average);
编辑
由于您使用printf
尝试:
System.out.printf("%14d \t \n", avg);
我们不会做你的功课,你 – Khalil 2013-04-23 22:57:04
不问这样做对我,但我不知道如何修复它 – XanderXIV 2013-04-23 22:57:48
@ user2297156我在下面给出了答案。同样,当你提出一个问题时,不要只是等待至少30分钟。 – 2013-04-24 00:51:47