[英]Java: while loop for user input not executing
編輯:問題原來是由我在程序的前一部分關閉System.in引起的,因此在以后無法使用。
我正在嘗試為用戶輸入創建一個循環,但是它不起作用...
這是我得到的:
Scanner userkey = new Scanner(System.in);
System.out.println("Enter commands");
while(userkey.hasNext()){
if (userkey.next().equals("exit")){
System.out.println("EXIT!!!!");
break;
}
System.out.println("In while loop test");
}
我猜出於某種原因userkey.hasNext()返回false ...
嘗試這個:
import java.util.Scanner;
public class Snippet {
public static void main(String[ ] args)
{
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
while(readString!=null)
{
System.out.println(readString);
if(readString.equals(""))
System.out.println("Read Enter Key.");
if(scanner.hasNextLine())
readString = scanner.nextLine();
else
readString = null;
if(readString.equals("exit")){
System.out.println("EXIT");
break;
}
}
}
}
甚至您的代碼也可以使用,但這是一個更詳細的版本。
試試這個代碼:
import java.util.Scanner;
public static void main(String[] args) {
// TODO code application logic here
Scanner userkey = new Scanner(System.in);
System.out.println("Enter commands");
do {
if (userkey.next().equals("exit")) {
System.out.println("EXIT!!!!");
break;
}
System.out.println("In while loop test");
}while(userkey.hasNext());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.