为什么我不能在员工部门输入String letter?

Why i can't type String letter in the employee's department?

What's wrong on my code? i can't even resolved it

这是一个经典问题。当您读取 nextDouble() 时,double 末尾的输入字符不会在 double 本身中读取,但下一个 nextLine() 将只读取该输入字符并且不允许您键入任何内容。

对于您的特定代码,有 2 种方法可以修复它

  1. 更改部门和薪资顺序,薪资将在最后阅读。由于您不是在循环中读取数据,因此应该这样做

  2. 如果你想循环读取数据,那么只有将薪水也读取为nextLine(),然后使用Double.parseDouble()将其解析为double才是好的解决方案。作为double salary = Double.parseDouble(in.nextLine());