-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path13-2_Calc
More file actions
106 lines (71 loc) · 2.99 KB
/
Copy path13-2_Calc
File metadata and controls
106 lines (71 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package lesson13;
/*_а Написать примитивный калькулятор.
Использовать Generic, ввод чисел с консоли, обработку try-catch
Числа должны быть объектами
*/
import java.util.Scanner;
//_а Используем Generic для класса
public class Calc <T> {
private static Scanner readNumber;
//_а Числа, которые вводит пользователь с консоли
private static String firstNumber, secondNumber, operation;
//_а переменные любого типа
private T value1, value2;
//_а Геттер первого числа (или не числа)
public T getValue1() {
return value1;
}
//_а Геттер второго числа (или не числа)
public T getValue2() {
return value2;
}
//_а Сеттер для присвоения введенных даных переменным value1 и value2
public void setValue(T val1, T val2) {
value1 = val1;
value2 = val2;
}
public static void main(String[] args) {
readNumber = new Scanner(System.in);
System.out.print("Введите Первое число : ");
firstNumber = readNumber.nextLine();
System.out.print("Введите Второе число : ");
secondNumber = readNumber.nextLine();
System.out.println("Выберите операцию: \n 1. + \n 2. - \n 3. * \n 4. /");
operation = readNumber.nextLine();
//_а Экземпляр класса Sum типа Double
Sum <Double> doubleInstance = new Sum();
try {
//_а Если введенное с консоли - числа
//_а переводим их в тип Double
doubleInstance.setValue(Double.parseDouble(firstNumber), Double.parseDouble(secondNumber));
//System.out.println(doubleInstance.getValue1());
//System.out.println(doubleInstance.getValue2());
//_а Обработка действий в зависимости от операции
switch (operation) {
case "1": {
System.out.println("Сумма чисел = " + (double)(doubleInstance.getValue1()+doubleInstance.getValue2()));
break;
}
case "2": {
System.out.println("Вычитание чисел = " + (double)(doubleInstance.getValue1()-doubleInstance.getValue2()));
break;
}
case "3": {
System.out.println("Умножение чисел = " + (double)(doubleInstance.getValue1()*doubleInstance.getValue2()));
break;
}
case "4": {
System.out.println("Деление чисел = " + (double)(doubleInstance.getValue1()/doubleInstance.getValue2()));
break;
}
default: {
System.out.println("Неверно выбрана операция!");
break;
}
}
} catch (Exception e) {
System.out.print("Один или два элемента не являются числами: ");
System.out.println(firstNumber + " " + secondNumber);
}
}
}