1

従業員情報を含むテキスト ファイルがあります。最初の単語は従業員の姓で、2 番目の単語は名です。文字コード h または s は、彼らがどのような種類の従業員であるか、月給制か時給制かを教えてくれます。最後に文字コードの後の数字は、時給なら時給、サラリーマンなら年俸です。

Smith, John   h   5.00
Potter, Harry   s   10000

この情報を使用してやりたいことは、テキスト ファイルをスキャンして、認識された文字コードに応じて、新しいサラリーマン オブジェクトまたは時間給従業員オブジェクトを自動的に作成することです。

これらは、時給従業員オブジェクトのパラメーターです。

public HourlyEmployee(String first, String last, double wage)

これが私が思いついたものです。

File input = new File("EmployeesIn.txt"); 
Scanner in = new Scanner(input);


while(in.hasNextLine()) {
    int i = 1;
    String line =(in.nextLine());
    if (line.contains(" h ")) {
        HourlyEmployee Employee1 = new HourlyEmployee(in.next(),in.next(),in.nextDouble());
        System.out.println(Employee1);  

このコードの問題は、in.nextDouble(); から InputMismatchException が発生することです。

そのため、コードを編集して手動で賃金を 1 に割り当て、少なくとも姓と名が正しく割り当てられているかどうかを確認しましたが、それも正しく行われませんでした。間違った行を使用して値を割り当て、名を姓として、姓を名として割り当てました。

Harry, Potter,  $1.0/hour

だから私の質問は、これを正しく行うにはどうすればよいですか? 提供したテキスト ファイルに基づいて、これらのパラメーターを使用して HourlyEmployee オブジェクトを作成したいと考えています。

HourlyEmployee Employee1 = new HourlyEmployee(Smith,John,5.00);
4

2 に答える 2