System.out.println("Name\tRollno\tAddress\tPercentage");
while(rs.next())
{
name=rs.getString(1);
lname=rs.getString(2);
address=rs.getString(3);
city=rs.getString(4);
System.out.print(name+"\t\t");
if(lname.length()<=7)
{
System.out.print(lname+"\t\t");
}
else
System.out.print(lname+"\t");
if(address.length()<=7)
{
System.out.print(address+"\t\t");
}
else
System.out.print(address+"\t");
System.out.println(city);
}
该数据不属于标题名称地址等。 如何格式化输出?任何人都可以帮助我吗?
答案 0 :(得分:4)
我建议使用String.format
方法%15s
,其中15是列的宽度,可以是您喜欢的任何内容。
使用"\t"
很大程度上取决于您显示结果的方式,例如在文本编辑器中,制表符的宽度可以是用户选择的任何内容。
答案 1 :(得分:1)
尽管String.format可以完美运行,但我还是想要使用PrintStream.printf()。 以下代码将在完美列中打印出您想要的内容。根据结果集中的实际值,您可能需要更改列宽度的值
int nameWidth = 15
int rollNumberWidth = 10
int adddressWidth = 25
int percentWidth = 5
String format = "%" + nameWidth + "s"
+ "%" + rollNumberWidth + "s"
+ "%" + addressWidth + "s"
+ "%" + percentWidth + "s\n";
System.out.printf(format ,"Name", "Rollno", "Address", "Percentage");
while(rs.next())
{
name = rs.getString(1);
lname = rs.getString(2);
address = rs.getString(3);
city = rs.getString(4);
System.out.printf(format , name, lname, address, city);
}