我有一个骰子类,可以从1-6中滚动随机数。我想创建另一个实现所有数字检查的类,并在所有唯一数字滚动一次时停止滚动。不知道我将如何使用getFace和boolean方法。考虑从错误开始的每个数字,并且一旦出现数字,结果为真。
public class Die {
public final int MAX = 6; //max 6
private int faceValue; //current value showing on die
//constructor
public Die() {
faceValue = 1;
}
public int roll(){
faceValue = (int)(Math.random()*MAX)+1;
return faceValue;
}
public void setFaceValue(int value){
if(value> 0 && value <=MAX)
faceValue=value;
}
public int getFaceValue(){
return faceValue;
}
public String toString(){
String result = Integer.toString(faceValue);
return result;
}
}
答案 0 :(得分:0)
time = 3.15978
我认为代码就是这样的。有点不接触java。
答案 1 :(得分:0)
逻辑: 创建一个集合S.继续滚动并将结果添加到该集合。当集合的大小为6时停止。(Set仅包含唯一元素。)
import java.util.HashSet;
import java.util.Set;
public class Play {
public static void main(String[] args) {
Die die = new Die();
Set<Integer> set = new HashSet<>();
int outcome = 0;
//Keep rolling until set size is 6.
while(set.size() != 6) {
outcome = die.roll();
set.add(outcome);
}
System.out.println(set);
}
}
class Die {
public final int MAX = 6; //max 6
private int faceValue; //current value showing on die
//constructor
public Die() {
faceValue = 1;
}
public int roll(){
faceValue = (int)(Math.random()*MAX)+1;
return faceValue;
}
public void setFaceValue(int value){
if(value> 0 && value <=MAX)
faceValue=value;
}
public int getFaceValue(){
return faceValue;
}
public String toString(){
String result = Integer.toString(faceValue);
return result;
}
}