我得到了这个运动,却不是一门功课,我只是试图解决:编程练习?
我们管理与有 对野外工作的马场。
马有
- 的名称,
- 的 每周工作小时的最高金额
- 量的实际工作小时 和
- 一个字段,表示如果她懒惰或 勤奋。
Horse类 的所有属性都是私有的,它们没有setter。 初始值通过 构造函数传递。
马类有一个方法来添加 一个小时的实际工作。该方法 被称为每小时(马 工程)。在下周开始时, 我们通过调用 另一种不带参数的方法将该计数器重置为0。
一匹懒惰的马每周不能工作超过34小时 小时,而勤劳的马 可以工作长达80小时。
对一个被屏蔽了 的马类进行编码,以防错误的工作时间数据。
你的主要方法将创建一个马 并调用它的方法,但数据 一定不会损坏,即。必须遵守 工作时间限制。 例如,一匹懒惰马的最长时间不能超过34小时,而 小时数不能超过最大值 。
如果马类检测尝试 设置不正确的数据,该数据 保持不变(和您打印 消息,以帮助您调试)。
正确的数据示例:
Name: "Blacky"
lazy: no
max hours/week = 70
actual hours this week = 61
Name: "Sultan"
lazy: yes
max hours/week = 30
actual hours this week = 1
损坏的数据的例子(你的代码应该做出这样一个不可能完成的情况下,达到)
Name: "Georges"
lazy: yes
max hours/week = 50 (wrong because lazy horses work max 34h/week)
actual hours this week = 51 (wrong because 51 > 50).
这是我的代码:
public class Horse {
private String name;
private int maximumAmount;
private int amountWorked;
private boolean isLazy;
public Horse(String name, int maximumAmount, int amountWorked, boolean lasyOrHardworking) {
this.name = name;
this.maximumAmount = maximumAmount;
this.amountWorked = amountWorked;
this.isLazy = lasyOrHardworking;
}
void everyHour(){
amountWorked = amountWorked + 1;
System.out.println(amountWorked);
if((isLazy == true)&&(amountWorked <= 34)){
resetToZero();
}
if((isLazy == false)&&(amountWorked <= 80)){
resetToZero();
}
}
void resetToZero(){
this.amountWorked = 0;
}
}
和我的主类
public class MainHorse {
public static void main(String args[]){
Horse one = new Horse("Blacky", 34,35,true);
one.everyHour();
}
}
我的问题是如何才能让我的方法everyhour做复位方法,并在一般情况下,是什么在我的代码是错误的?
我料斗中你可以帮我
首先,你的格式很混乱,你几乎没有段落分割。仅仅因为这个原因,我怀疑你不会得到任何答案。段落划分非常重要。其次,我没有看到指令和代码正在做什么之间的任何连接。 第三,我不明白你真正的问题是什么。您需要明确说明您期望的代码,以及它实际上在做什么。 我们不会读你的想法。 – 2010-07-17 16:35:24
我已将您的问题重新格式化以便阅读。请尽量对将来的问题进行格式化,特别是如果它们非常广泛。 :) – Amber 2010-07-17 16:46:44