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 行中弄清楚其他程序想要我做什么。我知道在最后四个打印命令中调用了 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 回答