0

LLLに保存した値を読み取り可能なテーブルに出力しようとしています。私が保存したデータは次のとおりです。

DEBBIE     STARR           F 3 W 1000.00
JOAN       JACOBUS         F 9 W  925.00
DAVID      RENN            M 3 H    4.75
ALBERT     CAHANA          M 3 H   18.75
DOUGLAS    SHEER           M 5 W  250.00
SHARI      BUCHMAN         F 9 W  325.00
SARA       JONES           F 1 H    7.50
RICKY      MOFSEN          M 6 H   12.50
JEAN       BRENNAN         F 6 H    5.40
JAMIE      MICHAELS        F 8 W  150.00

名、姓、性別、在職期間、給与、給与をそれぞれ独自のリストに保存しました。そして、それらを読み込んだテキストファイルで表示されるのと同じ形式で印刷できるようにしたいと考えています。リストをトラバースして印刷できるようにするいくつかの方法をいじりましたが、最終的には醜い出力になります。. .

テキストファイルを保存するためのコードと、印刷したい形式は次のとおりです。

public class Payroll
{
  private LineWriter lw;
  private ObjectList output;
  ListNode input;
  private ObjectList firstname, lastname, gender, tenure, rate, salary;

  public Payroll(LineWriter lw)
  {
      this.lw = lw;
      this.firstname = new ObjectList();
      this.lastname = new ObjectList();
      this.gender = new ObjectList();
      this.tenure = new ObjectList();
      this.rate = new ObjectList();
      this.salary = new ObjectList();
      this.output = new ObjectList();
      this.input = new ListNode();
  } 
   public void readfile()
   {
       File file = new File("payfile.txt");
       try{
           Scanner scanner = new Scanner(file);
           while(scanner.hasNextLine())
           {
               String line = scanner.nextLine();
               Scanner lineScanner = new Scanner(line);
               lineScanner.useDelimiter("\\s+");
               while(lineScanner.hasNext())
               {
                   firstname.insert1(lineScanner.next());
                   lastname.insert1(lineScanner.next());
                   gender.insert1(lineScanner.next());
                   tenure.insert1(lineScanner.next());
                   rate.insert1(lineScanner.next());
                   salary.insert1(lineScanner.next());
                }
            }
        }catch(FileNotFoundException e)
        {e.printStackTrace();}
    }


   public void printer(LineWriter lw)
   {
       String msg = " FirstName " + " LastName " + " Gender " + " Tenure " +
                    " Pay Rate " + " Salary "; 
             output.insert1(msg);
             System.out.println(output.getFirst());
             System.out.println(" " + firstname.getFirst() + "      " + lastname.getFirst() + "\t" + gender.getFirst() +
            "\t" + tenure.getFirst() + "\t" + rate.getFirst() + "\t" + salary.getFirst());


     }

}
4

2 に答える 2

1

C スタイルの書式指定子System.out.printf()を使用して、文字列と整数を固定幅の場所に (位置合わせして) 出力する方法を使用できます。

于 2012-11-04T17:10:29.297 に答える
0

これで試しましたか

 String msg = " FirstName " + " LastName \t" + " Gender \t" + " Tenure \t" +
                " Pay Rate \t" + " Salary \t"; 
于 2012-11-04T16:57:29.427 に答える