面向对象的超市模拟器方法

时间:2014-08-04 16:12:18

标签: java queue object-oriented-analysis

enter image description here

我最近在java中学习java和数据结构。我正在处理这个问题,这将是我将编写的第一种真正的程序。到目前为止,我只编写了简短算法和数据结构的代码。所以我正在寻找有关如何逐步实现这一目标的指导。我不是在寻找任何代码,因为我没有通过查看其他人的代码来学习,而是我需要指导如何处理这样的问题.ex。我首先确定我需要哪些课程等?因此,在调查问题后,我意识到这个问题可以像我们喜欢的那样详细或复杂,但我试图保持简单,做基本的要求。所以以下是我到目前为止收集的内容。

我需要一个Customer类,其中包括名称,年龄,购买的杂货商品数量,以及确定加入哪个队列的方法(加入最短的队列)。

我需要一些与“检查员”相关联的客户队列,他们会随机抽取时间来处理每个客户。

我需要一个超市类,客户,队列和检查器之间的所有交互都会发生。

我很困惑,因为我不知道从哪里开始,而且现在我也不清楚一切将如何结合在一起。如果有人可以一步一步地指导我应该按照哪个顺序做什么,我真的很感激。通过这样做,当我为其他面向对象的语言编写更多代码时,它将在未来帮助我。

如果有任何不适当的话,我非常感谢所有的投入和道歉。

1 个答案:

答案 0 :(得分:1)

一般情况下,您需要一个反复重复的主循环来处理输入和您拥有的所有实体(客户,杂货等)

由于您希望超市类管理您的程序,我会从那开始。 然后,您将意识到您需要超市中的客户。

所以在你需要的时候创建那个类。

然后你会发现你需要杂货。

所以在你需要的时候创建那个类。

然后您将意识到您需要为这些类创建实例。 在您的情况下,这将发生在超市内。

到目前为止,没有任何内容可以“查看”,也无法与该程序进行任何交互。 它创造了客户自己。向他们添加杂货(例如,在客户的ArrayList属性中)。

然后你会意识到你需要问题。

所以创造它们。

每个客户的时间可能取决于项目数乘以随机因素。

现在你的超市正在运行。您应该添加可以关闭的调试日志记录,以便了解正在发生的事情。

现在,如果您愿意,您可以创建一些可以查看超市的统计数据或者您想要可视化的内容。

然后,为用户创建输入。请记住,您正在运行无限循环。您可以在每次迭代时询问用户输入。当输入存在时,做出相应的反应。

现在:修复错误,添加功能,测试,修复错误,添加功能,测试......

我希望这是一个高级概述,可以帮助您入门。 不要害怕你的课程一开始就很简单。您可以随时在粗略程序运行时为它们添加功能。