calculator-gradle/src/main/java/io/tswf/dima/CalculatorApp.java

83 lines
2.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}
}