Поэтому мне было интересно, может ли кто-нибудь помочь мне с форматированием этого...
Вот что выглядит в настоящее время:
Это то, что мне нужно, чтобы оно выглядело (без...):
И вот мой код для этого в настоящее время:
System.out.format( "%n$------------------------------------$");
System.out.format( "%nWITHHOLDING FOR EACH EMPLOYEE%n%n" );
System.out.format( "First Name Last Name Hourly Rate Weekly Pay Withholding Amount%n%n" );
for( int i = 0; i < employeeNum; i++ ) {
System.out.format( "%-10s %-10s %-10.3f %-10.3f %-10.3f%n", employeeFirstName[i], employeeLastName[i],
employeeHourlyPay[i], weeklyPay[i], withholdingAmt[i] );
}
System.out.format( "%nEND OF REPORT%n" );
System.out.format( "$------------------------------------$");
Спасибо вам за помощь!
Здесь я это сделал, просто используйте выравнивание в заголовке:
System.out.print( "%n$------------------------------------$");
System.out.printf( "%nWITHHOLDING FOR EACH EMPLOYEE%n%n" );
System.out.printf("%-12s %-12s %-12s %-12s %-12s \n\n", "First Name", "Last Name", "Hourly Rate", "Weekly Pay", "Withholding Amount");
for( int i = 0; i < employeeNum; i++ ) {
System.out.printf( "%-12s %-12s %-12.3f %-12.3f %-12.3f \n", employeeFirstName[i], employeeLastName[i],
employeeHourlyPay[i], weeklyPay[i], withholdingAmt[i] );
}
System.out.printf( "%nEND OF REPORT%n" );
System.out.print( "$------------------------------------$");
Вот результат:
...
First Name Last Name Hourly Rate Weekly Pay Withholding Amount
Brett Lawless 25.500 1020.000 204.000
....
Используя это, чтобы усечь длинные строки:
static String truncto( String s, int max ){
return s.length() > max ? s.substring(0,max) : s;
}
вы можете использовать это для получения выровненного вывода
System.out.format( "First Name Last Name Hourly Rate Weekly Pay Withholding Amount%n%n" );
System.out.format( "%-17s %-16s %-18.3f %-17.0f %-17.0f%n",
truncto("John-Bulwer-Lytton",17),
truncto("Smith",16),
123.45, 200.0, 100.0 );
Используйте элементы массива вместо литералов, которые я использовал для тестирования.
Вы можете наверняка напечатать две строки для заголовка.