第四章第二十三题(金融应用:酬金)(Financial application: payroll)
*4.23(金融应用:酬金)编写一个程序,读取下面的信息,然后输出一个酬金声明:
运行示例
Develop a program designed to accept input data related to employees and generate corresponding payroll statements.
Employee’s name (e.g., Smith)
Number of hours worked in a week (e.g., 10)
Hourly pay rate (e.g., 9.75)
Federal tax withholding rate (e.g., 20%)
State tax withholding rate (e.g., 9%)
A sample run is as follows:
Enter employee’s name:Smith
Enter number of hours worked in a week:10
Enter hourly pay rate:9.75
Enter federal tax withholding rate:0.20
Enter state tax withholding rate:0.09
Employee Name:Smith
Hours Worked:10.0
Pay Rate:9.75
Gross Pay:97.5
Deductions:
Federal Withholding (20.0%): 19.5
State Withholding (9.0%): 8.77
Total Deduction: 28.27
Net pay:$69.22
下面是参考答案代码:
import java.util.Scanner;
public class PayRollQuestion23 {
public static void main(String[] args) {
String employeeName;
double hoursWorked,hourlyPayRate,federalTaxRate,stateTaxRate;
Scanner input = new Scanner(System.in);
System.out.print("Enter employee's name: ");
employeeName = input.nextLine();
System.out.print("Enter number of hours worked in a week: ");
hoursWorked = input.nextDouble();
System.out.print("Enter hourly pay rate: ");
hourlyPayRate = input.nextDouble();
System.out.print("Enter federal tax withholding rate: ");
federalTaxRate = input.nextDouble();
System.out.print("Enter state tax withholding rate: ");
stateTaxRate = input.nextDouble();
System.out.printf("Employee Name: %s\n", employeeName);
System.out.printf("Hours Worked: %.1f\n", hoursWorked);
System.out.printf("Pay Rate: %.2f\n", hourlyPayRate);
System.out.printf("Gross Pay: %.2f\n", hoursWorked * hourlyPayRate);
System.out.printf("Deductions:\n");
System.out.printf(" Federal Withholding (%.1f%%): $%.2f\n", federalTaxRate * 100, federalTaxRate * hoursWorked * hourlyPayRate);
System.out.printf(" State Withholding (%.1f%%): $%.2f\n", stateTaxRate * 100, stateTaxRate * hoursWorked * hourlyPayRate);
System.out.printf(" Total Deduction: $%.2f\n", federalTaxRate * hoursWorked * hourlyPayRate
+ stateTaxRate * hoursWorked * hourlyPayRate);
System.out.printf("Net pay: $%.2f\n", hoursWorked * hourlyPayRate
- federalTaxRate * hoursWorked * hourlyPayRate
- stateTaxRate * hoursWorked * hourlyPayRate);
input.close();
}
}
AI写代码
运行效果:

编写程序时应注重良好习惯的养成:1. 使用英文文件名并使其更具 specificity 2. 所有的注释必须用英文书写 3. 变量名称应具象且避免使用抽象标识符如a b c等 应遵循驼峰式命名法4. 统一编码风格避免在同一文件中存在此处使用斜体而此处采用下划线等方式造成混乱5. 建议将普通变量方法名采用小驼峰命名法 将类名采用大驼峰命名法并将常量命名为全大写字面结合下划线的方式6. 学习代码编辑器中的常用快捷键对于提高编程效率具有重要意义
