0
當我去添加員工時,此代碼首先會提示輸入新的員工ID。然後檢查數組以確保該ID尚未被使用。我遇到的問題是它讓我輸入ID兩次,然後繼續前進到其餘的場景。其他領域只需要輸入一次。我無法弄清楚是什麼原因造成的。你們能幫助我指出正確的方向嗎?爲什麼我必須重複輸入才能讓我繼續前進?
輸出示例:
Please enter the maximum number of employees for your store
2
Welcome to the employee management system
a) Add a new Employee
b) Delete an Employee
c) Print the Employee List
d) Print a Specific Employee
e) Exit the Employee Management System
a
Please enter the employee ID.
1234 //should only have to type it in once but as you can see in the example i have to type it a second time
//before it moves on
1234
Please enter the employee name.
我認爲這個問題是在下面的方法。
public void addEmployee() // choice a
{
int id = 0;
int x = 0;
int y = 0;
while (x < maxEmployees && empNumber[x] != 0) // allows user to add employee as long as x is less than maxEmployees and empNumber in next array is 0
x++;
if(x == maxEmployees)// tells user that they can not add more employees if they have too many before kicking them back to the menu
{
System.out.println("Unable to add more employees. Max number of employees reached.");
}
else
{
System.out.println("Please enter the employee ID.");
id = scan.nextInt();
scan.nextLine();
while (y < maxEmployees && empNumber[y] != id) // checks to see if employee id already exsist
y++;
if(y == maxEmployees) // if no matching id is found continues the adding process
{
empNumber[x] = scan.nextInt();
scan.nextLine();
System.out.println("Please enter the employee name.");
empName[x] = scan.nextLine();
System.out.println("Please enter the employee address.");
empAddress[x] = scan.nextLine();
System.out.println("Please enter the employee salary.");
empSalary[x] = scan.nextInt();
scan.nextLine();
}
else
System.out.println("This ID is already associated with an employee");
}
如果幫助您解決問題,您應該考慮將答案標記爲正確。 – SnakeDoc 2014-12-06 22:09:53