【发布时间】:2016-07-03 04:47:39
【问题描述】:
所以我正在用 Java 编写一个迷你棋盘游戏程序。
程序将读取标准输入并按照输入的指示构建游戏。
为了帮助保持井井有条并提高我的 oo java 技能,我正在使用 Cell 类作为 nxn 游戏中的单元。
对于棋盘游戏,我需要将所有内容放在一个文件中,并且必须从 static void main 运行。
这是我的 Cell 类的样子
public class Cell{
public int x;
public int y;
.
.
.
}
我想读取输入,并为每个单元格赋值,然后将单元格添加到一个列表中,例如 ArrayList allCells。但是,我不能在静态上下文中使用它。
我知道静态是一个单一的实例,所以我很困惑我将如何去做。无论如何我可以使用基于类的系统来解决这个问题。每个单元格都是它自己的单个对象,因此使其成为 stat 不起作用。
任何形式的解释或替代方案都会令人惊叹!希望我的描述足够清楚。
【问题讨论】:
-
实例化
Cell类会有什么问题吗,例如Cell cell = new Cell(3, 0);? -
main 方法只是为了给你的程序一个入口点,通常是创建一个主要的主类对象,也许还有一些附属对象,然后设置它们。不要专注于主要方法。首先关注项目的“名词”。是的,Cell 课程很棒,但你打算把它放在什么地方?也许是一个 Grid 类,什么对象将运行程序的逻辑?以及哪些对象将与用户交互......
-
@TimBiegeleisen 我对你的问题有点困惑。在解析输入时,我尝试将每条信息放在这样的单元格中,但它不能,因为它是从静态上下文中调用的
-
"For the board game, I need to have it all in one file."-- 为什么?这个要求的理由是什么? -
@HovercraftFullOfEels 我有一个 Game 类,类似于您所描述的 Grid 类,它是静态的。唯一的问题是有很多信息要放入其中。 Cell 类用于将每个单元的信息组织在一起。我不想忽略 main 方法,因为如果我让它发挥作用并且不能让它与 main 一起工作,那么它就没有意义了。