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; } } 
  • 2
    Wrap the piece that you want to repeat, while(условиС-ΠΏΡ€ΠΈ-ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ-ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ) - andreymal
  • Can you help me in this? - Mher Balayan
  • Can someone help rozobratsya in this? - Mher Balayan

1 answer 1

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.