用于在Java SE中编码的开始类(使用NetBeans 8.1 IDE)。我想要做的就是这个
主文件立即初始化并进入playDice,它检查玩家当前余额,询问下注金额,如果当前余额大于0,且下注金额小于或等于当前余额,则初始化方法public static int determineWinnings(.....)
。这就是我的问题。这是我目前的代码,试图让程序初始化determineWinnings。
if (balance >= 0 && balance >= betAmmount) {
determineWinnings();
}
使用该代码,我收到一条错误消息this。有什么问题?
完整代码(如果需要),供参考
package dicegame;
import static dicegame.UserInput.*;
public class DiceGame {
public static void main(String[] args){
System.out.println("Lets play the dice game!");
System.out.println("Loading");
playDice();
}
public static void playDice(){
System.out.println("Hello, please input the ammount you will like to bet!");
int balance=1000;
int betAmmount=getInt();
if(balance>=0 && balance>=betAmmount){
determineWinnings();
}
else if(balance<=betAmmount){
System.out.println("You can not bet in this game! Your bet can not be greater than your current balance!");
}
else if(balance==0){
System.out.println("You can not bet in this game! You have no money left!");
}
}
public static int determineWinnings(int balance, int betAmmount){
int die1 = (int)(Math.random()*6) + 1;
int die2 = (int)(Math.random()*6) + 1;
System.out.println("Rolling...");
System.out.println("You rolled a " + die1);
System.out.println("You rolled a " + die2);
if(die1==die2){
if(die1==1 && die2==1){
System.out.println("CONGRATULATIONS! YOU HIT THE JACKPOT! Your current balance will be multiplied by 12!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
else if(die1==2 && die2==2){
System.out.println("CONGRATULATIONS! You won! Your current balance will be doubled!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
else if(die1==3 && die2==3){
System.out.println("CONGRATULATIONS! You won! Your current balance will be tripled!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
else if(die1==4 && die2==4){
System.out.println("CONGRATULATIONS! YOU HIT THE JACKPOT! Your current balance will be quadrupled!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
else if(die1==5 && die2==5){
System.out.println("CONGRATULATIONS! YOU HIT THE JACKPOT! Your current balance will be quintupled!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
else if(die1==6 && die2==6){
System.out.println("CONGRATULATIONS! YOU HIT THE JACKPOT! Your current balance will be sextupled!");
balance=balance*12;
System.out.println("Your current balance is" + balance);
}
}
else{
balance=balance-betAmmount;
System.out.println("You lost! Your new balance is" + balance);
}
return 0;
}
}
答案 0 :(得分:1)
您需要将balance
和betAmount
传递给determineWinnings(...)
:
if (balance >= 0 && balance >= betAmmount) {
determineWinnings(balance, betAmount);
}
答案 1 :(得分:0)
您将determineWinnings声明为
public static int determineWinnings(int balance, int betAmmount)
但是你没有任何参数地调用它
determineWinnings()
你应该通过两个整数。