繁体   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