所以我有一个简单的问题,不知道为什么这不起作用。
所以我正在制作一款名为轮盘赌的游戏,我想让用户选择他们的起始余额。因此,在他们打开游戏后,它会创建一个欢迎消息并告诉他们如何玩。然后询问他们想要的余额:
System.out.println("Welcome to Roulette! \nTo play please enter 1 to guess low (1-18) or 2 to guess high (19-36)");
userBalance = rps.getBalance();
所以这就是我的驱动程序类中有一大堆方法(或将会)访问另一个文件的内容。
所以我现在在我的另一个叫做rps的课程中调用它。
public int getBalance(Scanner in, int userBalance)
{
System.out.println("How much money would you like to play with?");
userBalance = in.nextInt();
while(userBalance > 0)
{
System.out.println("Invalid input, try again!");
userBalance = in.nextInt();
}
return userBalance;
} //end of UserBalance
告诉我它无法找到符号.getBalance
答案 0 :(得分:0)
您的getBalance
函数正在使用两个参数scanner
对象和int
值userBalance
,但在调用此函数userBalance = rps.getBalance();
时,您没有传递任何参数。从函数原型public int getBalance(Scanner in, int userBalance)
中删除这些参数,或在调用时将所需参数传递给此函数。
您需要更改功能getBalance
。当它返回userBalance时,您不需要在其中传递getBalance
值作为参数。此外,您不需要将Scanner
对象作为参数传递给它。你可以在函数体内声明scanner
对象。
请尝试以下代码。
public int getBalance()
{
Scanner in= new Scanner (System.in);
int userBalance;
System.out.println("How much money would you like to play with?");
userBalance = in.nextInt();
while(userBalance > 0)
{
System.out.println("Invalid input, try again!");
userBalance = in.nextInt();
}
return userBalance;
} //end of UserBalance
现在调用此函数,它将返回int
值。
int userBalance = rps.getBalance();