[英]How to make multiple Scanners with the same input line?
我正在制作一個使用Scanner
對象的終端游戲。 到目前為止,我做事的方式還沒有問題。 但是現在,我想添加“作弊代碼”,為此,我需要第二個Scanner
。 一個將用於玩家需要輸入以前進的指定關鍵字,另一個將用於作弊代碼,我將它們設置在兩個單獨的Thread
,以免干擾。
問題是,當我執行此操作時,由於有兩個Scanner
,所以播放器應鍵入兩行,但我希望它只要求一行,並且如果該行是作弊碼,它將執行某些操作與指定關鍵字不同。 有什么方法可以做到,而無需完全重寫我的代碼?
這是我制作Scanner
對象的方法:
// show available keywords
System.out.println("[keyword1] [keyword2] [keyword3]\n");
Scanner User = new Scanner(System.in);
String user = User.nextLine();
if (user.contentEquals("keyword1")) {
// code
}
(我用作弊代碼對其他Thread
也做了同樣的操作)
我還使用了我用於兩個Thread
的public static Scanner
進行了嘗試,然后只是為關鍵字創建了一個String
並為作弊代碼創建了一個String
,但是由於某種荒唐的原因,導致java.lang.IndexOutOfBoundsException
被拋出。
提前致謝!
一台掃描儀就足夠了。
String input1 = User.next();
String input2 = User.next();
輸入此值並用空格分隔,例如,您輸入了Hello World
。 Hello
進入input1
然后World
進入input2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.