Я создаю калькулятор памяти. В моем коде у меня есть метод текущего значения, и мне нужно, чтобы он возвращал новое значение, когда оператор либо решает сложить, вычесть, умножить и т. Д. c ... У меня проблемы с выяснением того, как изменить текущее значение поле. Когда я решил добавить число к текущему значению, значение остается таким же, как и прежде, 0.
ПЕРВЫЙ КЛАСС
import java.util.Scanner;
public class MemoryCalculator {
private double currentValue;
public static int displayMenu() {
Scanner input = new Scanner(System.in);
System.out.println("Menu");
System.out.println("1. Add ");
System.out.println("2. Subtract ");
System.out.println("3. Multiply ");
System.out.println("4. Divide ");
System.out.println("5. Clear ");
System.out.println("6. End");
System.out.println("Please choose which math operation to perform, or press 6 to quit.");
int selection = input.nextInt();
return selection;
}
public static double getOperand(String prompt) {
Scanner input = new Scanner(System.in);
System.out.println(prompt);
double operand = input.nextDouble();
return operand;
}
public double getCurrentValue() {
this.currentValue = currentValue;
return currentValue;
}
public void add(double operand2) {
this.currentValue = getCurrentValue() + operand2;
getCurrentValue();
}
public void subtract(double operand2) {
}
public void multiply(double operand2) {
}
public void divide(double operand2) {
}
public void clear() {
}
}
ВТОРОЙ КЛАСС ДРАЙВЕРА КЛАССА
public class MemoryCalculatorDriver {
public static void main(String[] args) {
double operand2 = 0;
MemoryCalculator CalcObj = new MemoryCalculator();
System.out.println(CalcObj.getCurrentValue());
int selection = CalcObj.displayMenu();
if(selection == 1) {
System.out.println(CalcObj.getOperand("What would you like the second number to be"));
CalcObj.add(operand2);
System.out.println(CalcObj.getCurrentValue());
}else if (selection == 2) {
System.out.println(CalcObj.getOperand("What would you like the second number to be"));
CalcObj.subtract(operand2);
System.out.println(CalcObj.getCurrentValue());
}else if (selection == 3) {
System.out.println(CalcObj.getOperand("What would you like the second number to be"));
CalcObj.multiply(operand2);
System.out.println(CalcObj.getCurrentValue());
}else if (selection == 4) {
System.out.println(CalcObj.getOperand("What would you like the second number to be"));
CalcObj.divide(operand2);
System.out.println(CalcObj.getCurrentValue());
}else if (selection == 5) {
CalcObj.clear();
System.out.println(CalcObj.getCurrentValue());
}else if (selection == 6) {
System.out.println("Goodbye");
}
}
}
Я могу получить ввод выбора от пользователя, и я могу получить первый номер от пользователя. Когда я выбрал опцию 1 «Добавить», пользователь может ввести число, но число не было добавлено к текущему значению.