意思理解
我觉得使用java构建一个骰子类并不困难,再用Test类进行调用摇骰子,两节课就能完成。但扩展中要使用多个骰子,只能想到循环的方法。而使某个数字不出现也只能实现单独数字,多数字的方法还写不出来。
设计实现
一、Dice类有面值、最大值以及不想出现的值三个属性,而函数方面主要是random产生随机数赋值给面值,以及给剩下两个属性赋值的set函数。
二、Test类主函数,类似于掷骰子,调用骰子类中的方法。 三、Cup类控制骰子的数量,实现多个骰子。代码说明
package game;
public class Test {
public static void main(String[] args){ Dice a = new Dice(); int i; int diceNumber=5;for(i=0;i
}
} //主方法 ****** package game; import java.util.Random; import java.util.Scanner;public class Dice {
private int faceValue; private int maxValue; private int badNumber; public void roll() { this.faceValue = (int) (Math.random()*maxValue+1); }public void setMaxValue(int maxValue){
this.maxValue = maxValue; }public void outValue(){
System.out.println(faceValue); }public void setBadnumber(int badNumber){
this.badNumber = badNumber; } } //骰子类 ****** package game; import java.util.*; import java.util.Scanner;public class Cup {
private int diceNumber;public void setDiceNumber(){ this.diceNumber = diceNumber;}
}
//控制骰子数量测试运行
小结
构建骰子不是特别的困难。但是,在扩展部分花了很多时间也没能按要求实现,后面的实现排除一些不想摇出的数字,本来想用数组但是由于数量不是定值放弃了,后来想要排除单个数字由于if函数的一些问题也没能实现。还有想要实现多个骰子的情况构建的Cup类无法控制数量,最后只能在Test类中直接用循环方法实现五个骰子的情况。原来想用Scanner函数键入来实现控制骰子数量,但是因为语法(?)问题没能实现。