对于public void setValue(int newcount)我该怎么做才能让其他程序发送的值用来设置newcount?此外,我必须这样做“如果newcount< zero或> maxValue,什么也不做。”
private int maxValue;
private int count;
/**
* Constructor for objects of class Counter
*/
public Counter(int maxValue)
{
maxValue = 0;
}
public void decrement()
{
if (count == maxValue)
{
count = maxValue;
}
else
{
--count;
}
}
public int getValue()
{
return maxValue;
}
public void increment()
{
if (count == maxValue)
{
count = 0;
}
else
{
++count;
}
}
public void setValue(int newcount)
{
}
public String toString()
{
return "Counter{" + "maxValue=" + maxValue + '}';
}
}
答案 0 :(得分:1)
我对这有什么感到困惑:
public void decrement()
{
if (count == maxValue)
{
count = maxValue;
}
似乎实际上并没有递减价值。事实上,由于count == maxValue,设置它没有意义。
答案 1 :(得分:1)
这应该有效:
public void setValue(int newcount) {
if ((newcount < 0) || (newcount > maxValue))
return;
counter = newcount;
}
答案 2 :(得分:1)
你的构造函数不符合你的意思:
private int maxValue;
/**
* Constructor for objects of class Counter
*/
public Counter(int maxValue)
{
maxValue = 0;
}
您的代码只是将其参数设置为零,参数名称隐藏属性(以及为什么将其设置为0?)
添加@param javadoc行的工作原理是:
private int maxValue;
/**
* Constructor for objects of class Counter.
* @param newMaxValue The maximum counter value.
*/
public Counter(int newMaxValue)
{
maxValue = newMaxValue;
}
答案 3 :(得分:0)
public void setValue(int newcount)
{
if(newcount >= 0 && newcount <= maxcount)
{
count = newcount;
}
}