Я пытаюсь создать собственный класс Counter и программу CounterDemo для следующих инструкций, но я не уверен, как выполнить проверку на ошибки (попытался написать метод с именем counterOK, который не работает), чтобы убедиться, чтоСообщение об ошибке появляется, если счетчик пытается уменьшить от нуля.Я думаю, что мне также нужно написать метод для сброса значения до нуля, как говорится в сообщении об ошибке.Разве я не могу просто сбросить его, используя метод Counter, который я написал?
Инструкции: записать класс счетчика в его собственный файл.Это позволит использовать ваш счетчик в любой программе.
Счетчик должен иметь возможность увеличивать и уменьшать на единицу.Он никогда не должен опускаться ниже нуля.toString и equals должны быть правильно реализованы и протестированы.System.out.println ("" + c1) должен работать, и если (c1.equals (c2)) должен работать, где c1 и c2 являются экземплярами вашего счетчика. Включите переопределение конструктора по умолчанию, который устанавливает счетчик в ноль, и aКонструктор, который позволяет вам установить количество.
Напишите тестовую программу, которая проверяет все функции счетчика. См. мой пример farkleberry в документации курса.
Это задание проверяет ваше понимание материалав тексте. Он также предоставляет шаблон для будущих заданий. Он предназначен для предоставления вам основных инструментов для написания коммерческих классов, которые пишутся в отдельных файлах и всегда включают toString и equals. Это также пример того, как программисты тестируют своиклассы до их освобождения.
public class Counter {
private int count; //local counting variable
public Counter()
{
count = 0;
}
public void setCounter(int newCount)
{
count = newCount;
}
public int getCounter()
{
return count;
}
public void increment1 ()
{
count++;
}
public void decrement1 ()
{
count--;
}
public String toString()
{
return "" + count;
}
public boolean equals(Counter c)
{
boolean result = false;
if (this.getCounter() == c.getCounter())
{
result = true;
return result;
}
return result;
}
public boolean counterOK(int check)
{
boolean result = true;
if (check > 0)
{
return result;
}
else
return false;
}
}
public class CounterDemo {
public static void main(String[] args) {
//initiate objects
Counter c1 = new Counter(), c2 = new Counter();
//show initial state of counters
System.out.println("Initial state");
System.out.println("Counter1 is at " + c1.toString());
System.out.println("Counter2 is at " + c2.toString());
if (c1.equals(c2))
System.out.println("Counter1 equals Counter2.");
else
System.out.println("Counter1 does not equal Counter2");
c1.decrement1();
if (c1.counterOK(c1))
{
System.out.println();
}
else
System.out.println("Error - attempted to subtract 1 Counter from 0 Counter.\n" + "Number of Counter reset to 0.");
System.out.println(c1.toString());
}
}
Возможный пример Вывод:
This program creates and uses Counters
Initial state
counter1 is at 0.
counter2 is at 0.
counter1 equals counter2.
Error - Attempted to subtract 1 Counter from 0 Counter.
Number of Counter reset to 0.
State after first test
counter1 is at 1.
counter2 is at 0.
counter1 does not equal counter2.
State after second test
counter1 is at 2.
counter2 is at 2.
counter1 equals counter2.
Process completed.