83 lines
2.7 KiB
Java
83 lines
2.7 KiB
Java
package io.tswf.dima;
|
||
|
||
import java.util.Scanner;
|
||
|
||
public class CalculatorApp {
|
||
|
||
public static final String OPERATION_PLUS = "+";
|
||
public static final String OPERATION_MINUS = "-";
|
||
public static final String OPERATION_MULTIPLY = "*";
|
||
public static final String OPERATION_DIVISION = ":";
|
||
public static final String OPERATION_POWER = "^";
|
||
|
||
public static final String[] AVAILABLE_OPERATIONS = { OPERATION_DIVISION, OPERATION_MINUS, OPERATION_PLUS, OPERATION_MULTIPLY, OPERATION_POWER };
|
||
|
||
public static final Scanner SCANNER = new Scanner(System.in);
|
||
|
||
// Проверяет поддерживается ли операция
|
||
public static boolean isOperationSupported(String operationDigit) {
|
||
for (String supportedOperationDigit : AVAILABLE_OPERATIONS) {
|
||
if (supportedOperationDigit.equals(operationDigit)) {
|
||
return true;
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public static void printInputNameText(String inputName) {
|
||
System.out.print("Введите " + inputName + " >>> ");
|
||
}
|
||
|
||
public static float readNumberFromConsole(String numberName) {
|
||
printInputNameText(numberName);
|
||
return SCANNER.nextFloat();
|
||
}
|
||
|
||
public static String readStringFromConsole(String stringName) {
|
||
printInputNameText(stringName);
|
||
return SCANNER.next();
|
||
}
|
||
|
||
public static void main(String[] args) {
|
||
float number1 = readNumberFromConsole("первое число");
|
||
String operation = readStringFromConsole("операцию");
|
||
float number2 = readNumberFromConsole("второе число");
|
||
|
||
System.out.print("Ответ: ");
|
||
|
||
if(!isOperationSupported(operation)) {
|
||
System.out.println("Неизвестная операция!");
|
||
return;
|
||
}
|
||
|
||
if (OPERATION_DIVISION.equals(operation)) {
|
||
if (number2 != 0) {
|
||
float division = number1 / number2;
|
||
System.out.println(division);
|
||
} else {
|
||
System.out.println("На 0 делить нельзя");
|
||
}
|
||
}
|
||
|
||
if (OPERATION_PLUS.equals(operation)) {
|
||
float addition = number1 + number2;
|
||
System.out.println(addition);
|
||
}
|
||
|
||
if (OPERATION_MINUS.equals(operation)) {
|
||
float subtraction = number1 - number2;
|
||
System.out.println(subtraction);
|
||
}
|
||
|
||
if (OPERATION_MULTIPLY.equals(operation)) {
|
||
float multiplication = number1 * number2;
|
||
System.out.println(multiplication);
|
||
}
|
||
if (OPERATION_POWER.equals(operation)) {
|
||
double power = Math.pow(number1, number2);
|
||
System.out.println(power);
|
||
}
|
||
}
|
||
}
|