0

他の誰かが書いたコードのセクションがありますが、そのコードをそれで動作させる方法がわかりません。私は単一のサイコロを振って、以下を使用して 1 から 6 までの数字を表示することになっています。

    (int)(math.random()*6 + 1);

提供されるコードは次のとおりです。

    import java.util.*;

public class Ch3_PrExercise6

{
  static Scanner console = new Scanner(System.in);
  public static void main(String[] args)
  {
    Die die1 = new Die();
    Die die2 = new Die();
    System.out.println("die1: " + die1.getRoll()):
    System.out.println("die2: " + die2.getRoll());
    System.out.println("After rolling, die1: " + die1.rollDie());
    System.out.println("After rolling, die2: " + die2.rollDie());
    System.out.println("After second roll, die1: " + die1.rollDie());
    System.out.println("After second roll, die2: " + die2.rollDie());
  }
}

これまでのところ、私が思いつくことができるのは次のとおりです。

public class Die
{
  //Sets initial value to 1
  public int startFace
  {
    startFace = 1;
  }
  //Roll the die
  public int rollDie
  {
    rollDie = (int)(math.random()*6 + 1);
  }
}

getRoll 行で、他のプログラムが私に何を要求しているのかを理解するのに苦労しています。最後の 4 つの印刷コマンドで rollDie が呼び出されていることがわかりました。

私はProcessing 2.20を使用しています。それが重要な場合。

4

2 に答える 2

1

私はそれがコンパイルするとは思わないのですか?あなたは rollDie が関数であることを期待しています。

 die1.rollDie()

括弧に注意してください: 関数呼び出し。

関数を作成し、値を返すようにします。

public int rollDie()
{
    int rollResult = (int)(math.random()*6 + 1);
    return rollResult
}
于 2013-10-09T17:50:29.393 に答える
1

私はdjnaに賛成票を投じ、彼の答えを受け入れます。詳しく説明すると、必要なのはこれだけだと思います。

public class Die
{
  private int face = 1;

  // Get current value
  public int getRoll ()  {
    return face;
  }

  //Roll the die, return new value
  public int rollDie ()  {
    face = (int)(Math.random()*6 + 1);
    return face;
  }

}
于 2013-10-09T17:56:19.147 に答える