我有一段别人写的代码,我无法弄清楚如何让代码与它一起工作。 我应该制作一个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,如果这很重要。
答案 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;
}
}