使用Counter类递增和递减:java

时间:2011-10-22 05:22:32

标签: java methods counter increment decrement

我无法直观地看到这个问题的最终产品:

定义一个名为Counter的类,其对象计算内容。这个类的一个对象 记录一个非负整数的计数。包括设置计数器的方法 为0,将计数增加1,并将计数减少1.确保没有 方法允许计数器的值变为负数。包括一个访问者 返回当前计数值的方法和输出的方法 数到屏幕。应该没有输入法或其他mutator方法。 可以设置计数器的唯一方法是将其设置为零。也, 包括toString方法和equals方法。编写程序(或程序) 测试类定义中的所有方法。

有人可以为我更好地解释这个问题吗?

2 个答案:

答案 0 :(得分:4)

编写定义类的代码。班级名称应为Counter。 (想一想:这对文件名意味着什么?请记住,我们希望这是一个public类,以便我们可以使用它来进行测试。)Counter用来计算事物的数量(这并不奇怪)。

为此,该类的每个实例都将包含一个“count”值。 (想一想:这个值的名称是什么?我们如何为类的每个实例创建一个单独的值,属于实例?)该值不应为负数。 (很明显;你怎么会有负数?)你应该确保价值不会变成负值(如果你以偏远的方式做事,这应该自动发生。)

该类应提供以下功能:

  • 将计数值设置为0的方法。(想一想:这个方法有什么好名字?当然应该是public,因为它是其他代码如何使用的一部分想想:你需要这个方法的任何参数吗?如果有,那么什么?)

  • 一种将计数增加1的方法。(想想:如上所述。)

  • 一种将计数减少1的方法。(想想:如上所述。另外,如果计数已经为0会发生什么,假设我们不能让它变为负数?决定在这种情况下该做什么。 )

  • 返回当前计数值的方法。 (这被称为“访问者”)。

  • 显示当前计数值的方法。 (注意:这在设计方面是一个非常糟糕的主意,但你的任务需要它。提示:使用System.out的一种方法输出到屏幕。)

  • 一个名为toString的方法,它返回计数器的String表示形式。这不应该采用任何参数,并且必须返回一个String。 (这是Java中大多数对象提供的标准功能。想一想:除了计数值之外,字符串中还应该包含其他内容吗?)

  • 一种名为equals的方法,它将Counter与另一个Counter进行相等性比较。此方法必须只接受一个参数,一个Counter实例,并返回一个boolean,指示两个计数器是否相等。 (想一想:是什么决定两个计数器是否“相等”?)

该课程不应提供以下任何功能:

  • 更改计数器值的任何其他方法(尤其不是从标准输入读取值的方法)。

编写一个程序,创建一些Counter个实例并使用它们的方法。该程序应该通过生成与读取主程序所期望的输出一致的输出来证明您的Counter类的行为符合预期。 (提示:由于这是Java,我们需要使用public static void main(String[] args)方法为该程序设置另一个类。将其放在另一个文件中。您可能需要使用packageimport语句,以便主程序可以在另一个文件中找到您的Counter类。确保您了解如何编译和运行Java类。)

答案 1 :(得分:0)

最终产品是一个具有问题中描述的方法的类。您可能还应提供一个测试程序,以验证程序是否按预期工作,并附带一些示例数据。