簡體   English   中英

如何用同一條輸入線制作多台掃描儀?

[英]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也做了同樣的操作)

我還使用了我用於兩個Threadpublic 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM