Мой профессор хочет меня к этому:начинающих Java Код счетчика
Написать количество сменных счетчиков с помощью интерфейса счетчика ниже
public interface Counter {
/** Current value of this counter. */
int value();
/** Increment this counter. */
void up();
/** Decrement this counter. */
void down();
}
Развивать следующее:
интерфейс ResetableCounter, поддерживаемый message void reset() в дополнение к параметрам счетчика.
Вот что я сделал:
public interface ResetableCounter {
void reset();
int value();
void up();
void down();
}
Реализация ResetableCounter называется BasicCounter, которая начинается со значения 0 и подсчитывает вверх и вниз на +1 и -1 соответственно.
Вот что я сделал:
public class BasicCounter implements ResetableCounter
{
int counterVariable = 0;
public static void main(String[] args)
{
BasicCounter cnt = new BasicCounter();
cnt.up();
cnt.down();
System.out.printf("The value is %d", cnt.counterVariable);
}
public void reset() {
this.counterVariable = 0;
}
public int value() {
return this.counterVariable;
}
public void up() {
++this.counterVariable;
}
public void down() {
--this.counterVariable;
}
}
Реализация ResetableCounter называется SquareCounter, которая начинается со значения 2, подсчитывает путем возведения в квадрат его текущее значение, и отсчитывает путем извлечения квадратного корня из его текущего значения (всегда округляется, т.е. 1.7 округляется до 2, точно так же, как 1,2 округляется до 2).
Вот что я сделал:
public class SquareCounter implements ResetableCounter {
int counterVariable = 2;
public static void main(String[] args) {
SquareCounter cnt = new SquareCounter();
cnt.up();
cnt.down();
double d = Math.ceil(cnt.counterVariable);
System.out.printf("The value is %f", d);
}
public void reset() {
this.counterVariable = 0;
}
public int value() {
return this.counterVariable;
}
public void up() {
Math.pow(this.counterVariable, 2);
}
public void down() {
Math.sqrt(this.counterVariable);
}
}
Реализация ResetableCounter называется FlexibleCounter, что позволяет клиентам указать начальное значение, а также приращение аддитивного (используется для подсчета вверх) при создании счетчика. Например, новый FlexibleCounter (-10, 3) даст счетчик с текущим значением -10; после вызова up() его значение будет равно -7.
Я не понял этого.
Все ваши реализации должны быть сброшены, и каждый из них должен содержать основной метод, который проверяет, работает ли реализация как ожидалось, используя assert, как мы это делали в лекции (это простой подход к модульному тестированию, о котором мы поговорим больше позже).
Я НУЖДАЮСЬ КОММЕНТАРИИ НА МОЕЙ РАБОТЕ ТАК ДАЛЬШЕ. ВЫ ДУМАЕТЕ ЭТО ПОЛОЖЕНИЯ? КАК РАБОТАЮТ С СБЫВАНИЕМ? Я ОЧЕНЬ НОВЫЙ ДЛЯ ДЖАВЫ, И ЭТО ДОЛГО ДАЛЬШЕ, ЧТО Я СДЕЛАЛ C++.
Где у вас проблемы? или вы хотите просмотреть код? – nachokk
@nachokk, я хочу, чтобы обзор кода ... и гибкий коннектор в конце, я еще не понял. – stburnish
ну, на самом деле это не сайт для отзывов о кодах. – redFIVE