Java 如何使此printf打印方法而不出现格式错误
如何使这个printf正确地输出方法,而不会在printf代码中出现错误。老师并没有复习格式,只是举了一个简单的例子Java 如何使此printf打印方法而不出现格式错误,java,printf,Java,Printf,如何使这个printf正确地输出方法,而不会在printf代码中出现错误。老师并没有复习格式,只是举了一个简单的例子 public static void printReportHeadings(int [] employeeId, int [] dependents, double [] hours, double [] payRate ) { System.out.println(" ABC PayRoll System ");
public static void printReportHeadings(int [] employeeId, int [] dependents, double [] hours, double [] payRate )
{
System.out.println(" ABC PayRoll System ");
System.out.println(" EmployeeId " + " Gross Pay " + " Federal Tax " + " State Tax " + " Net Pay ");
for (int i = 0; i <7;i++)
{
float gross;
double federal =0.0;
double state = 0.0;
double net = 0.0;
gross = (float)(hours[i]*payRate[i]);
federal = .2 * (gross-(dependents[i]*38.46));
state = .032*gross;
net = gross - (federal+state);
System.out.printf("%-15d %.01f % 15f%n", employeeId[i], gross, federal , state, net) ;
}
public static void打印报告标题(int[]员工ID,int[]家属,双倍[]小时,双倍[]工资率)
{
System.out.println(“ABC工资系统”);
System.out.println(“雇员ID”+“工资总额”+“联邦税”+“州税”+“净工资”);
对于(inti=0;i,您有三个占位符和五个要绑定到这些占位符的内容
注意:
System.out.printf("%-15d %.01f % 15f%n", employeeId[i], gross, federal, state, net);
%-15d
、%.01f
和%15f
都是一个整数的占位符,分别是两个浮点数字。另外两个-state
和net
根本没有占位符
为浮点类型再添加几个占位符将解决您的问题:
System.out.printf("%-15d %.01f %15f %10f %10f%n", employeeId[i], gross, federal, state, net);
为什么这是C和C++的问题?!只是这个网站的新版本,需要更多的标签。said@user3503932Java:Herbert Schlidt的《完整参考》
书将是一本很好的书,可以添加到书架和/或电子图书库中。每当我使用Java,尤其是任何泛型时,都会对这本书进行审查。我这已经在第九版了:谢谢你,我感谢你的帮助和快速的回复!