这是我的第一个Java程序。为了我的生活,无论我做什么。它不会不会不起作用。:(
这是我输出信息的方法。
private static int showAll(int[] order, String[] name, int last)
{
int end = order.length;
System.out.println(" " + "The Godfather's Pizza" + " " + "n"
+ "**********************************"
+ "n Order Number" + " Customern ----------- ---------n");
for (int i = 0; i < order.length; i++)
{
System.out.printf("%6d %6d%s" + order[i] + name[i]);
end = end + 1;
}
System.out.println("n End of Report");
return end;
}
这是我的输出示例:
The Godfather's Pizza
**********************************
Order Number Customer
----------- ---------
0 null
0 null
0 null
0 null
0 null
End of Report
我的问题是...如何格式化我的输出?我知道如何在其他编程语言中,并且不认为这会如此痛苦?
System.out.printf("%6d %6d%s" + order[i] + name[i]);
尝试更改
System.out.printf("%6d %6d%s" + order[i] + name[i]);
更像是...
System.out.printf("%6d %15s", order[i], name[i]);
请记住,printf
采用参数,这些参数定义了替换格式的值
您可能还想查看格式化字符串以获取更多详细信息
public class Test1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int[] order = new int[10];
String[] name = new String[10];
for (int index = 0; index < 10; index++) {
order[index] = index;
name[index] = Character.toString((char)(65 + index));
}
showAll(order, name, 1);
}
private static int showAll(int[] order, String[] name, int last) {
int end = order.length;
System.out.println(" " + "The Godfather's Pizza" + " " + "n"
+ "**********************************"
+ "n Order Number" + " Customern ----------- ---------n");
for (int i = 0; i < order.length; i++) {
System.out.printf("%6d %15sn", order[i], name[i]);
end = end + 1;
}
System.out.println("n End of Report");
return end;
}
}
请记住,您不能格式化null
值,您需要提供适当的值或测试null
条件,例如
System.out.printf("%6d %15sn", order[i], (name[i] == null ? "" : name[i]));
。例如