import java.util.Scanner; public class Calculator { static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int num1 = getInt(); int num2 = getInt(); char operation = getOperation(); int result = calc(num1,num2,operation); System.out.println("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: "+result); } public static int getInt(){ System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ:"); int num; if(scanner.hasNextInt()){ num = scanner.nextInt(); } else { System.out.println("ΠΡ Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠΈΡΠ»Π°. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π·."); scanner.next();//ΡΠ΅ΠΊΡΡΡΠΈΡ num = getInt(); } return num; } public static char getOperation(){ System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ:"); char operation; if(scanner.hasNext()){ operation = scanner.next().charAt(0); } else { System.out.println("ΠΡ Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π·."); scanner.next();//ΡΠ΅ΠΊΡΡΡΠΈΡ operation = getOperation(); } return operation; } public static int calc(int num1, int num2, char operation){ int result; switch (operation){ case '+': result = num1+num2; break; case '-': result = num1-num2; break; case '*': result = num1*num2; break; case '/': result = num1/num2; break; default: System.out.println("ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π°. ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π²Π²ΠΎΠ΄."); result = calc(num1, num2, getOperation());//ΡΠ΅ΠΊΡΡΡΠΈΡ } return result; } } |
1 answer
Like that:
public class Calculator { ... static boolean have_task = true; public static void main(String[] args) { // ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, // Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠΊΠ» Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ while (have_task) { // ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ/ΠΌΠ΅ΡΠΎΠ΄Ρ process(); // ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, // ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄Π΅Π»Π°ΡΡ have_task = false // ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ } } public static void process() { int num1 = getInt(); int num2 = getInt(); char operation = getOperation(); int result = calc(num1,num2,operation); System.out.println("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: "+result); } ... } - big thanks to everyone - Mher Balayan
- @MherBalayan thanks on this site are expressed with an up arrow and a received answer;) - AivanF.
|
while(ΡΡΠ»ΠΎΠ²ΠΈΠ΅-ΠΏΡΠΈ-ΠΊΠΎΡΠΎΡΠΎΠΌ-ΠΏΠΎΠ²ΡΠΎΡΡΡΡ)- andreymal