【问题标题】:Having trouble with class creation for a java dice game为 Java 骰子游戏创建类时遇到问题
【发布时间】:2013-02-03 00:13:36
【问题描述】:

几个月前我刚开始学习 Java,我被设置了一个任务,用 Java 创建一个简单的骰子游戏。第一个练习是实现一个 Die 类,具有以下实例变量、构造函数和方法:

private int faceValue; // Current face value of die
private int sides; // Number of sides
private Random generator;
public Die(int s){}
public void throwDie(){}
public int getFaceValue(){}
public String toString() {}

在我之前编写的纸牌游戏中,我使用了:

public static final String suits[] = { "Clubs", "Spades", "Hearts", "Diamonds"};

要设置我的西装的值,我是否可以对我的“faceValue”变量做同样的事情,只将它们设置为 1、2、3、4、5 和 6?

感谢阅读,希望这里的人可以提供帮助,实现类和构造函数是我似乎正在努力的事情!

【问题讨论】:

  • 抱歉有什么问题?
  • 可以,但这不是一个好主意。您作业的核心是使用Random 类。你应该阅读它的Javadoc。特别注意nextInt(int) 方法。

标签: java class constructor implementation dice


【解决方案1】:

这看起来很像一个家庭作业问题,所以我不会给你一个实现,而是一个想法。 (如果不是,那么说出来,我可以做相应的调整。)

我认为您传递给构造函数的参数可能应该是 Die 中的边数,这意味着最大边数是可变的。您不希望动态创建数组或枚举,因为我认为您想要的唯一面值是整数,这比必要的工作更多。

您可能希望将该输入值分配给代表它的变量,并使用它来创建一个在 0 和该数字之间缩放的数字生成器。

【讨论】:

  • 好的,我想我明白你的意思了。所以我应该将我的边变量设置为 6(假设我使用的是常规的 6 面骰子),然后将数组排除在外。你是对的,我想要的 faceValue 的唯一值是整数。你也是对的,这是一个家庭作业问题,所以我只是在寻找正确方向的一点,谢谢!
猜你喜欢
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-29
相关资源
最近更新 更多