java - 我想在我的文件系统中保存多个数据

标签 java

`

    NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.US);


    String employeeName;    
    float hoursWorked;          
    float hourlyRate;           
    float basepay;          
    float netpay;
    float overtime = 0;
    int numberofemp= 0;
    final JPanel panel = new JPanel();

        System.out.println( "Assignement 2\n\n");   
            numberofemp = Integer.parseInt(JOptionPane.showInputDialog("Enter No of Employee"));

     int[] arrayList= new int[numberofemp];
       for (int i = 0; i < arrayList.length; i++)

      {
             employeeName = JOptionPane.showInputDialog("Enter the employee name:");

       do
        {
           hourlyRate = Float.parseFloat(JOptionPane.showInputDialog("Enter the number of Hourly Rate :"));

           if (hourlyRate < 8)
                {   
                JOptionPane.showMessageDialog(panel, "The hourly rate must be 8 an hour", "Error", JOptionPane.ERROR_MESSAGE);
                }
              }
       while ( hourlyRate < 8 ); 

           do
             {
               hoursWorked = Float.parseFloat(JOptionPane.showInputDialog("Enter the number of hours worked:"));

            if (hoursWorked >60)
            {
                    JOptionPane.showMessageDialog(panel, "The number of hours worked must be under 60", "Error", JOptionPane.ERROR_MESSAGE);                     
            }
          }
        while ( hoursWorked >60);


                    if (hoursWorked > 40)
                        {
                        overtime = (float) (  (hoursWorked - 40) *(hourlyRate * 1.5));
                        }

                        else
                        { basepay = hoursWorked * hourlyRate;

                        }
        netpay  =  basepay + overtime;          

        System.out.println( "\n\nEmployee Name: " + employeeName);      
         System.out.println( "Hours Worked: " + hoursWorked );
         System.out.println( "Base Pay: " + currency.format(basepay) );
          System.out.println( "Overtime Pay: " + currency.format(overtime)); 
           System.out.println( "Total Pay: " + currency.format(netpay)); 
            System.out.println( );


 try
  {
     PrintWriter prst;
         prst = new PrintWriter( "C://Users/tushar/Desktop/Workspace/Assignment_2/out.txt" );
              prst.println( "\n\nEmployee Name: " + employeeName);
                prst.println( "\n\nBasePay: " + basepay);
                  prst.println( "\n\nOvertime Pay: " + overtime);
                    prst.println( "\n\nTotal pay: " + netpay);
                       prst.close();

                                     }
 catch (Exception e)
 {
         System.err.println ("Error writing to file");
 }                      



       }
     }  }

嗨,我的代码有一点问题。在我的代码中,我只能保存最后的数据列表。在我的文件系统中,我想保存多个数据。所以任何人都可以帮助我如何将尽可能多的数据保存到我的文件系统中。

最佳答案

将 PrintWriter 初始化放在 for 循环之外,并使用 close 方法在 for 循环结束之外关闭 PrintWriter,如果您想再次使用该文件并追加到它以便旧数据不被删除,请使用 FileOutputStream(prst, true),如 MadProgrammer 所建议的。

   PrintWriter prst = new PrintWriter( "C://Users/tushar/Desktop/Workspace/Assignment_2/out.txt" );
   int[] arrayList= new int[numberofemp];
   for (int i = 0; i < arrayList.length; i++)
   {
     ........................
     try
     {
      prst.println( "\n\nEmployee Name: " + employeeName);
      prst.println( "\n\nBasePay: " + basepay);
      prst.println( "\n\nOvertime Pay: " + overtime);
      prst.println( "\n\nTotal pay: " + netpay);

     }
     catch (Exception e)
     {
       System.err.println ("Error writing to file");
     }                      
  }
  prst.close();

关于java - 我想在我的文件系统中保存多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203047/

相关文章:

java - netbeans 无法识别 ArrayUtil

java - 应用程序在旋转时崩溃,NullPointerException

java - 我正在使用操作监听器创建一个新的 JFrame,但无法更改背景颜色

java - 如何从java中另一个类的主类访问int?

java - 从文件读取和写入任何数据结构?

windows - 在这种情况下如何找到java?

java - 在 Joda 的波兰语言环境中解析日期?

java - 运行Servlet时出现异常: java. lang.ClassNotFoundException : javax. servlet.http.HttpServletRequest

java - Android studio 错误 - 无法解析 : com. google.android.gms:play-services-ads

Java:为什么静态接口(interface)方法应该有主体?