意外循环中的 Java 输出/输入,即使我没有故意将其放入循环中

  • 本文关键字:循环 故意 输出 Java 输入 意外 java
  • 更新时间 :
  • 英文 :


我正在上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并且从不更改它时,肯定会无限循环。

最新更新