我正在尝试运行以下代码,以通过扫描仪类从用户获取输入。而且我无法在输入控制台中输入任何内容。没有例外。只是计算机正在等待输入,控制台中没有显示我输入的内容。
(some-with-err-> 1
(+ 1) :addition
(/ 0) :division
(* 2) :multiplication)
=> #:user{:error :division}
(some-with-err-> " "
(clojure.string/trim) :trim
(not-empty) :empty
(str "foo") :append)
=> nil ;; from not-empty
运行该程序时,我可以为第一种方法 void Assignplayercharacter 输入信息,而对于第二种功能 void play(int player ) 。程序正在运行,控制台正在等待输入,但是,当我键入内容时,该字符未出现在控制台上。如果我注释掉第一种方法 void Assignplayercharacter ,然后尝试运行 void play(int player) ,我能够读取用户的输入。
void Assignplayercharacter()-此函数获取输入并将数据输入到HashMap中。
void play(int player)-此函数从用户处获取输入,并根据给定的输入修改char []数据数组中的字符。
P.S我仅在从用户那里获取输入时遇到问题。
答案 0 :(得分:0)
删除此行,然后重试:scan.close();
第一个。
扫描仪应仅在最后关闭。
PS:要使游戏正常运行,请删除break;
函数内的void play(int player)
。
答案 1 :(得分:0)
java.util.Scanner.close()
方法关闭扫描仪。如果您关闭了Scanner object
,则无法从控制台获取输入。因此,从您的代码中删除scan.close()
,它将像魅力一样工作。最后只关闭扫描仪对象。
More on Scanner class and its methods