在java中的2个单独的类中使用数组

时间:2015-11-19 19:03:43

标签: java arrays loops dice

如何在不同的类中使用main中的数组。我正在制作一个游戏,我需要进行三次单掷模具。然后,我取每个值,并进行比较,如2/3数字匹配。如果然后添加到12然后给玩家回锅。 这是我想要使用数组中的信息的类。我昨晚学会了数组和循环,所以我真的不知道我在做什么

<svg class="circular-loader" viewBox="25 25 50 50">
  <circle class="loader-path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>
</svg>

这是我创建数组的主要部分。

    import java.util.Scanner;

public class Game {

private double Bet;
private double Pot;
private double TotalPot;

public void Pot( ){
Pot = 50;
}
public void inputBet( ) {
    Scanner keyboard = new Scanner (System.in);
    System.out.println("Please enter the current month in numerical format: ");
    Bet = keyboard.nextDouble();
    if (Bet <= Pot) {
        System.out.println("Error, Bet out of range");

        inputBet();
    }
    else if (Bet == 0) {
        System.out.println("Thank you for playing");
    }
}

public void inputEnd( ){

}

public void removeBet( ){
    TotalPot = Bet - Pot;
}
public void dieComparison1(){
if ((die[0] == die[1]) || (die[0] == die[2])){
    TotalPot = (Bet * 2) + Pot;
    }
}
public void print(){
System.out.println(+ TotalPot);}
}

1 个答案:

答案 0 :(得分:0)

在上面的代码中,您已使用main方法向您发布了已注释掉已创建Game类实例的行:

//Game smith = new Game();
//smith.Pot();
//smith.inputBet();

首先创建Game的实例并将其存储在变量smith中,然后在Pot上调用方法inputBetsmith方法变量,你可以在Game类声明rollDie中声明另一个方法,以包含用于掷骰子的代码,并将其从smith.rollDie()称为main方法。这样就不需要从die类访问main中创建的数组Game

我的意思是:

  1. 首先,在die类中创建int[]类型的变量Game,并将其初始化为3:

    private int[] die = new int[3];
    
  2. 你创建一个方法说rollDie()方法,其中包含滚动模具的方法:

    public void rollDie(){
        Die bob = new Die();
        int total = 0;
        for(int i = 0; i < 3; i++){
            die[i] = bob.rollDie();
            bob.displayDie(die[i]);
            total = total + die[i];
        }
        bob.displayDie(total);
    }
    
  3. 现在在您的main方法评论中注释所有未评论的内容,并取消评论所有评论内容。然后添加行smith.rollDie()以滚动骰子并获得结果:

    Game smith = new Game();
    smith.Pot();
    smith.inputBet();
    smith.rollDie();
    // Here call the other method that are required to play the game like `dieComparision1()` etc.
    /*int[] die = new int[3];
    Die bob = new Die();
    int total = 0;
    for(int i = 0; i < 3; i++){
       die[i] = bob.rollDie();
       bob.displayDie(die[i]);
       total = total + die[i];
    }
    bob.displayDie(total);*/