FileWriter没有将0放入我的输出文件中

时间:2015-06-09 16:49:33

标签: java object tostring filewriter

我在按钮点击事件上执行此操作 employee类有一个toString方法,它可以显示制作该对象所需的所有内容。 一旦它使用FileWriter打印zipcode,就会显示第一个0到位。

private class ButtonListenerSubmit implements ActionListener
{
    public void actionPerformed (ActionEvent event)
    {
        int phone, zipcode;
        double pay;
        String phoneString, zipcodeString, payString;
        phoneString = phoneNumberTF.getText();
        zipcodeString = zipcodeTF.getText();
        payString = payRateTF.getText();
        phone = Integer.parseInt(phoneString);
        zipcode = Integer.parseInt(zipcodeString);
        pay = Double.parseDouble(payString);

        Employee one = new Employee(fNameTF.getText(), lNameTF.getText(), addressTF.getText(), townTF.getText(), stateTF.getText(), zipcode, phone, pay);
        try {
            PrintWriter out = new PrintWriter(new FileWriter(one.lastName + one.firstName + ".txt"));
            out.println(one);
            out.close();
        } catch(IOException e) {

        }
    }
}

4 个答案:

答案 0 :(得分:0)

问题是,您的zipcode是一个int整数,但不会012345他们会自动将其截断为12345

尝试一个字符串。

答案 1 :(得分:0)

制作邮政编码的数据类型字符串

答案 2 :(得分:0)

您应该在zipcodeString类初始化中使用Employee作为参数。如果您在使用phone变量时添加以0开头的电话号码,也不会获得完整的电话号码。因为如果它是第一个字符,则整数避免为0。因此,请使用zipecodeStringphoneString获取完整输入。

试试这个:

Employee one = new Employee(fNameTF.getText(), lNameTF.getText(), addressTF.getText(), townTF.getText(), stateTF.getText(), zipcodeString, phoneString, pay);

答案 3 :(得分:0)

您应该在Employee.toString方法中为您的邮政编码字段添加填充。替换这个:

... + "ZipCode: " + zipCode + ... // or whatever code you have for this

有了这个:

... + "ZipCode: " + String.format("%s5", zipCode).replaceAll(" ", "0") + ...