Skip to content

Commit f1e6a4c

Browse files
Initial commit
0 parents  commit f1e6a4c

File tree

8 files changed

+138
-0
lines changed

8 files changed

+138
-0
lines changed

Diff for: .idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/description.html

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/encodings.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/misc.xml

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/project-template.xml

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Java Calc.iml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>

Diff for: src/com/company/Main.java

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package com.company;
2+
import java.util.Scanner;
3+
public class Main {
4+
static Scanner scanner = new Scanner(System.in);
5+
static int n1, n2;
6+
static char op;
7+
static int result;
8+
public static void main(String[] args) {
9+
System.out.println("Введите два числа: [X][Знак][Y]: ");
10+
String userInput = scanner.nextLine();
11+
char[] Numchar = new char[10];
12+
for (int i = 0; i < userInput.length(); i++) {
13+
Numchar[i] = userInput.charAt(i);
14+
if (Numchar[i] == '+') op = '+';
15+
if (Numchar[i] == '-') op = '-';
16+
if (Numchar[i] == '/') op = '/';
17+
if (Numchar[i] == '*') op = '*';
18+
}
19+
String under_charString = String.valueOf(Numchar);
20+
String[] posit = under_charString.split("[+-/*]");
21+
String num1 = posit[0];
22+
String op2 = posit[1];
23+
String num2 = op2.trim();
24+
n1 = RomNumber(num1);
25+
n2 = RomNumber(num2);
26+
if (n1 < 0 && n2 < 0) {
27+
result = 0;
28+
}
29+
else {
30+
if (n1 == -1 || n2 == -1){
31+
System.exit(0);
32+
}
33+
result = calculated(n1, n2, op);
34+
String resultRoman = RomanNumbers(result);
35+
System.out.println("Ответ: " + resultRoman);
36+
}
37+
try{
38+
n1 = Integer.parseInt(num1);
39+
n2 = Integer.parseInt(num2);
40+
result = calculated(n1, n2, op);
41+
if ((n1 | n2) > 10){
42+
System.exit(0);
43+
}
44+
else{
45+
System.out.println("Ответ: " + result);
46+
}
47+
}catch (NumberFormatException e){
48+
System.exit(0);
49+
}
50+
}
51+
private static String RomanNumbers(int numArabian) {
52+
String[] roman = {"O", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX",
53+
"XXI", "XXII", "XXIII", "XXIV", "XXV", "XXVI", "XXVII", "XXVIII", "XXIX", "XXX", "XXXI", "XXXII", "XXXIII", "XXXIV", "XXXV", "XXXVI", "XXXVII", "XXXVIII", "XXXIX", "XL",
54+
"XLI", "XLII", "XLIII", "XLIV", "XLV", "XLVI", "XLVII", "XLVIII", "XLIX", "L", "LI", "LII", "LIII", "LIV", "LV", "LVI", "LVII", "LVIII", "LIX", "LX",
55+
"LXI", "LXII", "LXIII", "LXIV", "LXV", "LXVI", "LXVII", "LXVIII", "LXIX", "LXX",
56+
"LXXI", "LXXII", "LXXIII", "LXXIV", "LXXV", "LXXVI", "LXXVII", "LXXVIII", "LXXIX", "LXXX",
57+
"LXXXI", "LXXXII", "LXXXIII", "LXXXIV", "LXXXV", "LXXXVI", "LXXXVII", "LXXXVIII", "LXXXIX", "XC",
58+
"XCI", "XCII", "XCIII", "XCIV", "XCV", "XCVI", "XCVII", "XCVIII", "XCIX", "C"};
59+
return roman[numArabian];
60+
}
61+
62+
63+
private static int RomNumber(String roman) {
64+
try {
65+
return switch (roman) {
66+
case "I" -> 1;
67+
case "II" -> 2;
68+
case "III" -> 3;
69+
case "IV" -> 4;
70+
case "V" -> 5;
71+
case "VI" -> 6;
72+
case "VII" -> 7;
73+
case "VIII" -> 8;
74+
case "IX" -> 9;
75+
case "X" -> 10;
76+
default -> -1;
77+
};
78+
} catch (NumberFormatException e) {
79+
System.exit(0);
80+
}
81+
82+
return 0;
83+
}
84+
85+
public static int calculated(int num1, int num2, char op) {
86+
return switch (op) {
87+
case '+' -> num1 + num2;
88+
case '-' -> num1 - num2;
89+
case '*' -> num1 * num2;
90+
case '/' -> num1 / num2;
91+
default -> 0;
92+
};
93+
}
94+
}

0 commit comments

Comments
 (0)