java - 带有文件输出的 JOptionPane

标签 java

我是 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/

相关文章:

java - 使用java程序进行版本控制,使用DOS命令

java - Mockito - 验证递归方法

java - 我想继续要求输入,直到表单扫描仪提供有效的输入

java - 如何在 netbeans 6.8 中启动和停止服务器?

java - 将 Zip 转换为存储压缩

java - 不支持使用 JPA 更新查询的 DML 操作

java - 除以 BigDecimals 导致 ArithmeticException

java - 如何在 Spring 中使用自定义 BeanName 创建 bean?

c# - 运算符优先级

java - 如何扩展 JavaFX Shape 类以实现自定义形状