无法在cmd中键入扫描仪类输入的输入

时间:2019-03-20 11:18:29

标签: java java.util.scanner

我正在尝试运行以下代码,以通过扫描仪类从用户获取输入。而且我无法在输入控制台中输入任何内容。没有例外。只是计算机正在等待输入,控制台中没有显示我输入的内容。

(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我仅在从用户那里获取输入时遇到问题。

2 个答案:

答案 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