我是 Java 新手。我这学期要上网课。我们正在使用的这本书不是最好的。我试过在网上四处寻找答案,但我做空了。也许你们中的一个可以帮助我 :)
基本上,下面的程序假设会提示用户输入信息,然后程序会计算扣除额并将信息输出到 .txt 文件。它运行并没有错误地遵守。弹出对话框,但没有数据写入文件。 .txt 文件保存在同一文件夹中。有什么想法吗?
import java.io.*;
import java.util.*;
import javax.swing.JOptionPane;
public class PaycheckCalculator
{
static final double FEDERAL_TAX = .15, STATE_TAX = .035, SOCIAL_SECURITY = .0575, MEDICARE_MEDICAID = .0275,PENSION = .05;
static final int HEALTH_INSURANCE = 75;
public static void main (String[] args) throws FileNotFoundException
{
String employeeName;
String inputStr;
double grossPay, netPay, federal, state, social, medicare, pension;
int healthInsurance;
PrintWriter outFile = new PrintWriter ("paycalc.txt");
employeeName = JOptionPane.showInputDialog ("Please enter your name: ");
inputStr = JOptionPane.showInputDialog ("Please enter your monthly gross pay: ");
grossPay = Double.parseDouble (inputStr);
federal = (grossPay * FEDERAL_TAX);
state = (grossPay * STATE_TAX);
social = (grossPay * SOCIAL_SECURITY);
medicare = (grossPay * MEDICARE_MEDICAID);
pension = (grossPay * PENSION);
netPay = (grossPay - federal - state - social - medicare - pension - HEALTH_INSURANCE);
outFile.println (employeeName);
outFile.printf ("Gross Amount: %.2f%n", grossPay);
outFile.printf ("Federal Tax: %.2f%n", federal);
outFile.printf ("State Tax: %.2f%n", state);
outFile.printf ("Social Security Tax: %.2f%n", social);
outFile.printf ("Medicare\\Medicaid Tax: %.2f%n", medicare);
outFile.printf ("Pension Plan: %.2f%n", pension);
outFile.printf ("Health Insurance: $" + HEALTH_INSURANCE);
outFile.printf ("Net Pay: %.2f%n", netPay);
System.exit(0);
outFile.close();
}
}
最佳答案
您必须在应用程序退出前关闭您的PrintWriter
。
您可以删除 System.exit(0);
行(这是无用的)或将其放在 close()
操作之后。
这样,数据将在应用程序退出前刷新到您的 paycalc.txt 文件中。
关于java - 带有文件输出的 JOptionPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897850/