我正在上java课程,在我的函数中,我有一个打印语句/输入,即使我没有把它放在循环中,它也会不断显示。下面是我的函数和输出。你知道是什么导致了这个问题吗?——谢谢!
private void dologin() {
int count = employeeList.size();
loggedIn = false;
//scanner opened
Scanner sc = new Scanner( System.in );
System.out.println("Please enter your login name: ");
currentUser = sc.next();
for (int i=0; i < count; ++i) {
if(currentUser == employeeList.get(i).getLogin()) {
currentID = employeeList.get(i).getID() ;
System.out.println("Welcome! You are logged in!");
loggedIn = true;
} else
System.out.println("Log in not found. Redirecting to the main menu.");
}
//scanner closed
sc.close();
}
输出:
工资菜单
1。登录
2。输入员工
3。员工列表
4。员工列表
5。终止员工
6。支付员工工资
0。退出系统
请输入选择号:
1
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
mfk
请输入您的登录名:
public void doMenu() {
//scanner opened
Scanner sc = new Scanner( System.in );
//prints menu
System.out.println(menu);
//prompts selection and scans in selection
System.out.println("Please enter a selection number: ");
int selection = sc.nextInt();
do {
switch (selection) {
case 0:
//writeFile();
break;
case 1:
dologin();
break;
case 2:
newEmployee();
break;
case 3:
listEmployees();
break;
case 4:
changeEmployee();
break;
case 5:
terminateEmployee();
break;
case 6:
payEmployees();
break;
default:
System.out.println("Invalid entry, try again.");
}
}while(selection!=0);
//Scanner is closed
sc.close();
}
do{}while()
是一个循环。你在循环selection != 0
。当您输入1
并将其分配给selection
并且从不更改它时,肯定会无限循环。