骰子作业

意思理解

我觉得使用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<diceNumber;i++){
		a.setMaxValue(6);
		a.setBadnumber(4);
		a.roll();
		a.outValue();
}

}
}
//主方法


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函数键入来实现控制骰子数量,但是因为语法(?)问题没能实现。

posted @ 2017-10-07 16:31  ChenMouMou  阅读(276)  评论(3编辑  收藏  举报