Привет! Давай сегодня поговорим об интересной задаче, реализации простого калькулятора на языке Java без создания класса Calculator, и добавлении возможности отмены последней операции. Я сам реализовал такой код и готов поделиться с тобой подробностями.Итак, начнем. План работы следующий⁚ мы будем использовать переменные для хранения текущего числа и последней операции. Чтобы добавить возможность отмены, нам также понадобится переменная для хранения предыдущего значения.Примерный алгоритм работы будет выглядеть так⁚
1. Создаем переменные для текущего числа (currentNumber), предыдущего числа (previousNumber) и последней операции (lastOperation).
2. Инициализируем переменную previousNumber значением 0.
3. Запрашиваем у пользователя ввод числа.
4. Сохраняем введенное значение в переменную currentNumber.
5. Запрашиваем у пользователя ввод операции.
6. Сохраняем введенную операцию в переменную lastOperation.
7. Если введенная операция равна ″Отмена″, выводим на экран значение предыдущего числа и возвращаемся на шаг 3.
8. Запрашиваем у пользователя ввод второго числа.
9. Выполняем операцию в зависимости от значения переменной lastOperation с использованием currentNumber и secondNumber.
11. Возвращаемся на шаг 5.
Итак, давай посмотрим, как это будет выглядеть на практике⁚
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner new Scanner(System.in);
double currentNumber 0;
double previousNumber 0;
String lastOperation ″″;
while (true) {
// Шаг 3⁚
System.out.print(″Введите число⁚ ″);
double inputNumber scanner.nextDouble;
currentNumber inputNumber;
// Шаг 5⁚
System.out.print(″Введите операцию ( , -, *, / или Отмена)⁚ ″);
String operation scanner.next;
// Шаг 7⁚
if (operation.equalsIgnoreCase(″Отмена″)) {
currentNumber previousNumber;
System.out.println(″Отмена операции. Текущий результат⁚ ″ currentNumber);
continue;
}
// Шаг 8⁚
System.out.print(″Введите второе число⁚ ″);
double secondNumber scanner.nextDouble;
// Шаг 9⁚
if (lastOperation.equals(″ ″)) {
currentNumber secondNumber;
} else if (lastOperation.equals(″-″)) {
currentNumber — secondNumber;
} else if (lastOperation.equals(″*″)) {
currentNumber * secondNumber;
} else if (lastOperation.equals(″/»)) {
currentNumber /= secondNumber;
} else {
System.out.println(″Неверная операция!″);
continue;
}
// Шаг 10⁚
previousNumber currentNumber;
System.out.println(″Ответ⁚ ″ currentNumber);
// Шаг 11⁚
lastOperation operation;
}
}
}
Теперь у нас есть полностью функциональный калькулятор, который позволяет выполнять простые операции ( , -, *, /) и отменять последнюю операцию при вводе ″Отмена″.
Данная реализация позволяет нам не создавать отдельный класс Calculator, а использовать переменные для хранения состояния калькулятора. Это более компактное и простое решение.
Надеюсь, эта статья была полезной для тебя! Удачи в применении данного примера к своим проектам и развитии в программировании на Java!