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方法。是否可以在Java中的方法内声明一个扫描器变量来读取键盘输入?
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);
}
当方法执行时我没有被提示任何东西我不明白为什么我没有包含程序的所有内容。只是想知道如果任何人眼睛这个代码可以看到明显的东西,否则,我会拿出猜测提交。
你确定你正在运行已编译的东西吗?在makeGuess函数中,如果检查答案的话会有一个缺失)。 –
无论如何,你不应该在每种方法中创建一个扫描仪。创建一次扫描程序并将其作为参数传递给需要它的方法。 –
是的,我在程序执行前修复了缺失的花括号。所以在这些情况下,我应该将Scanner对象传递给方法。我只需要一个import语句,然后在我的主类中创建对象,然后将其传递给makeguess方法。感谢你的帮助与东西。仍然没有提示我输入我会尝试一些事情。 – needyPheonix