骰子传奇
骰子传奇
意思理解
这次的题目是要设计一个骰子类,这样可以为很多的游戏
提供骰子的使用。我觉得不算很难,骰子主要是用到随机数的产生。另外,所设计的骰子类很重要的一点就是骰子的多用性,适用于不同的场合,并且要考虑到结果在控制台上友好显示。
设计实现
代码说明
测试类:测试骰子的功能
public class Test { public static void main(String[] args) { Dice d1 = new Dice(); d1.print(); d1.printSum(); } }
Cup类:确定所需的骰子数
import java.util.Scanner; public class Cup { int count; public int getCount() { System.out.println("请输入骰子个数:"); Scanner sc = new Scanner(System.in); count = sc.nextInt(); return count; } }
Dice类:
确定所投的每个骰子的数值,计算所投骰子的总数值和
import java.util.Scanner; import java.util.Random; public class Dice { int [] faceRange = new int [2]; Cup cup = new Cup(); int count=cup.getCount(); static int sum = 0; //打印界面 public void print() { int x; System.out.println("选择骰子:" + '\n' + "1.默认骰子(面值:1~6)" + '\n' + "2.自定义骰子(面值自定)"); Scanner sc = new Scanner(System.in); x = sc.nextInt(); if(x == 1) dice(1,6); else { System.out.println("请输入骰子面值的范围:"); System.out.print("Min:"); Scanner sc1 = new Scanner(System.in); faceRange[0] = sc1.nextInt(); System.out.print("Max:"); Scanner sc2 = new Scanner(System.in); faceRange[1] = sc2.nextInt(); dice(faceRange[0],faceRange[1]); } } //自定义骰子 public void dice(int min, int max) { for(int x = 1; x<=count; x++) { int y = getResult(min,max); System.out.print("第" + x + "个骰子的值:"); System.out.println(y ); sum +=y; } } //计算骰子总和 public void printSum() { System.out.println("骰子面值的总和:"+sum); } //产生min~max之间的随机数 public static int getResult(int min, int max) { Random random = new Random(); int x = random.nextInt(max)%(max-min+1) + min; return x; } }
测试运行
作业小结
这一次的骰子作业,我按照老师的基本要求,功能基本上有所实现,不足之处就是,在Java的思想上还停留在C语言上,接下来要重点复习一下Java中的构造器和函数,以及接口的使用、引用和继承。
改进修改后:http://www.cnblogs.com/zhengyongxian/p/7667765.html