написал за Диму правильное решение, будем практиковаться больше. Все забыл (сам смог заменить на константы магические строки, когда ему показали как писать константы)
This commit is contained in:
		
							parent
							
								
									0e77149d63
								
							
						
					
					
						commit
						e2abb090f5
					
				| @ -3,23 +3,55 @@ package io.tswf.dima; | |||||||
| import java.util.Scanner; | import java.util.Scanner; | ||||||
| 
 | 
 | ||||||
| public class CalculatorApp { | public class CalculatorApp { | ||||||
|     public static void main(String[] args) { |  | ||||||
|         Scanner scanner = new Scanner(System.in); |  | ||||||
|         float number1 = scanner.nextFloat(); |  | ||||||
|         String operation = scanner.next(); |  | ||||||
|         float number2 = scanner.nextFloat(); |  | ||||||
|         System.out.print("Ответ:"); |  | ||||||
|         String a = "+"; |  | ||||||
|         String b = "-"; |  | ||||||
|         String c = "*"; |  | ||||||
|         String d = ":"; |  | ||||||
|         String e = "^"; |  | ||||||
| 
 | 
 | ||||||
|         if( operation != a && operation != b && operation != c && operation != d && operation != e)  { |     public static final String OPERATION_PLUS = "+"; | ||||||
|             System.out.println("ошибка"); |     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; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (":".equals(operation)) { |         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) { |             if (number2 != 0) { | ||||||
|                 float division = number1 / number2; |                 float division = number1 / number2; | ||||||
|                 System.out.println(division); |                 System.out.println(division); | ||||||
| @ -28,25 +60,23 @@ public class CalculatorApp { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if ("+".equals(operation)) { |         if (OPERATION_PLUS.equals(operation)) { | ||||||
|             float addition = number1 + number2; |             float addition = number1 + number2; | ||||||
|             System.out.println(addition); |             System.out.println(addition); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if ("-".equals(operation)) { |         if (OPERATION_MINUS.equals(operation)) { | ||||||
|             float subtraction = number1 - number2; |             float subtraction = number1 - number2; | ||||||
|             System.out.println(subtraction); |             System.out.println(subtraction); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if ("*".equals(operation)) { |         if (OPERATION_MULTIPLY.equals(operation)) { | ||||||
|             float multiplication = number1 * number2; |             float multiplication = number1 * number2; | ||||||
|             System.out.println(multiplication); |             System.out.println(multiplication); | ||||||
|         } |         } | ||||||
|         if ("^".equals(operation)) { |         if (OPERATION_POWER.equals(operation)) { | ||||||
|             double power = Math.pow(number1, number2); |             double power = Math.pow(number1, number2); | ||||||
|             System.out.println(power); |             System.out.println(power); | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user