[英]Is it possible to declare a scanner variable inside a method in Java to read keyboard input?
final int MAX_ROUNDS = 5;
String name1,name1;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter player1 name: ");
name1 = keyboard.nextLine();
System.out.println("Please enter player2 name: ");
name2 = keyboard.nextLine();
Player player1 = new Player(name1);
Player player2 = new Player(name2);
Dealer dealer = new Dealer();
for(int count = 1; count <=MAX_ROUNDS; count++)
{
System.out.println("------------------");
System.out.ptintf("Round : %d",count);
dealer.rollDice();
player1.makeGuess();
player2.makeGuess();
roundResults();
摘录自Player类的makeGuess方法。
public void makeGuess()
{
Scanner keyboard = new Scanner(System.in)
System.out.printf("Please guess 'even' or 'odd' "+
"%s.", name);
String answer = keyboard.nextLine();
if(answer.equalsIgnoreCase("even")
guess = "Cho (even)";
else
guess = "Han (odd);
}
执行该方法时,没有任何提示,我不明白为什么我没有为程序提供所有内容。 我只是想知道是否有人盯着此代码可以看到明显的东西,否则,我将删除猜测提交。
虽然我找不到您的代码有什么问题,但是,如果我不得不进行有根据的猜测,那么Dealer.dice()方法可能会陷入无限循环,这会导致整个程序出现故障
您是否尝试过打印出名称1,名称2等变量,这些变量从扫描仪获取其值以查看其是否正常工作? 将其值设置为keyboard.nextLine()后立即尝试执行此操作。 这样可以使您更好地了解问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.