程序不会等待正确的输入

时间:2015-10-22 14:23:25

标签: java

我有一个老虎机程序。该程序运作正常,但问及他们是否愿意计算游戏是什么。具体的代码行是"

pA
    System.out.println("play again?");
    ans =scan.nextLine();"

2 个答案:

答案 0 :(得分:0)

试试这个:

scan.nextLine();
ans = scan.nextLine();

有一个换行符,你需要吃掉它。

答案 1 :(得分:0)

我也在其他地方张贴了这个......但是

尝试使用scnr.nextLine();而不是scnr.next();

原因是因为令牌。 next()的文档说:

  

public String next()

     

查找并返回此扫描仪的下一个完整令牌。

令牌通常由空格(“\ n”,“\ t”,“”)分隔,因此不会将“enter”或“\ n”字符识别为令牌。这就是为什么它会继续阅读,以为你没有输入任何代币。

另一方面,

nextLine()将读取,直到找到“\ n”字符。这意味着当你输入时,它会以“\ n”字符读取,从而将你的选择设置为“”。