该程序用于计算扣除后的员工净工资,但我在员工工资摘要中显示总工资时遇到问题。
我已经更改了对话框的类型等,是否还有解决方案允许我在工资单摘要中使用非输入对话框?
import javax.swing.JOptionPane; // Dialog boxes are created to allow user inputs
public class Payslipgenerator
{
public static void main(String[] args)
{
String employeeName,grossPay,payslipFinal; //Declaring String variables
double PRSI=.025, PAYE=.2, USC=.04, Pension=.05, healthInsurance= 75; //Declaring consants used in the Application
double prsiCalc, payeCalc, uscCalc,pensionCalc, netValue; //Double variables that will store calculations
employeeName = JOptionPane.showInputDialog(null, "Enter Employee name : ", "User Info"); //Asks Employee to input their name, which is then stored
grossPay = JOptionPane.showInputDialog(null, "Enter Gross Pay (€) : ", "User Info"); //Prompts employee to enter Gross Pay for deduction calculation
double employeeGrossPay = Double.parseDouble(grossPay); //Stores input in double Variable
prsiCalc = employeeGrossPay * PRSI;
payeCalc = employeeGrossPay * PAYE;
uscCalc = employeeGrossPay * USC ;
pensionCalc = employeeGrossPay * Pension ;
netValue = employeeGrossPay - (prsiCalc + payeCalc + uscCalc + pensionCalc + healthInsurance);
payslipFinal = String.format("Gross Pay :€%.2f \nPRSI : €%.2f \nUSC : €%.2f \nPension Plan : €%.2f \nHealth Insurance : €75.00 \nNet Earnings: €%.2f"
+ employeeGrossPay, prsiCalc, uscCalc, pensionCalc, netValue);
JOptionPane.showInputDialog(null, "Employee Name : " + employeeName + "\n\n" + payslipFinal, "Payslip Breakdown");
}
}
最佳答案
改变
payslipFinal = String.format("Gross Pay :€%.2f \nPRSI : €%.2f \nUSC : €%.2f \nPension Plan : €%.2f \nHealth Insurance : €75.00 \nNet Earnings: €%.2f"
+ employeeGrossPay, prsiCalc, uscCalc, pensionCalc, netValue);
到
payslipFinal = String.format("Gross Pay :€%.2f \nPRSI : €%.2f \nUSC : €%.2f \nPension Plan : €%.2f \nHealth Insurance : €75.00 \nNet Earnings: €%.2f"
, employeeGrossPay, prsiCalc, uscCalc, pensionCalc, netValue);
测试:
public static void main(String[] args) {
String payslipFinal = String.format("Gross Pay :€%.2f \nPRSI : €%.2f \nUSC : €%.2f \nPension Plan : €%.2f \nHealth Insurance : €75.00 \nNet Earnings: €%.2f"
, 1f, 2f, 3f, 4f, 5f);
System.out.println(payslipFinal);
}
输出:
Gross Pay :€1,00
PRSI : €2,00
USC : €3,00
Pension Plan : €4,00
Health Insurance : €75.00
Net Earnings: €5,00
关于java - 当我的程序在BlueJ中的文本 'crashing'之后遇到 "%.2f"时,它是 "Gross Pay : ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304544/