使用外部代码在Java中使用Die类

时间:2013-10-09 17:45:09

标签: java class

我有一段别人写的代码,我无法弄清楚如何让代码与它一起工作。 我应该制作一个Die roll并使用以下方法显示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,如果这很重要。

2 个答案:

答案 0 :(得分:1)

我不认为编译?你期望rollDie成为一个函数,你可以告诉你,因为你有

 die1.rollDie()

注意括号:函数调用。

所以创建一个函数并让它返回一个值:

public int rollDie()
{
    int rollResult = (int)(math.random()*6 + 1);
    return rollResult
}

答案 1 :(得分:1)

我会upvote 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;
  }

}