我有一个包含员工信息的文本文件。第一个单词是员工的姓氏,第二个单词是名字。字符代码 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 以至少查看它是否正确分配了姓氏和名字,但它甚至没有正确地做到这一点。它使用错误的行来分配值,并将 First Name 分配为姓氏,将 Last Name 分配为名字。
Harry, Potter, $1.0/hour
所以我的问题是,我该如何正确地做到这一点?根据我提供的文本文件,我想使用这些参数创建一个 HourlyEmployee 对象
HourlyEmployee Employee1 = new HourlyEmployee(Smith,John,5.00);