простой калькулятор Java - цикл пока ответ не будет равен 0 [duplicate]

1

Действительно новый для java и некоторые проблемы с этим назначением. Задача заключалась в следующем:

Напишите простую программу калькулятора, которая печатает приветственное сообщение, принимает простое арифметическое выражение от пользователя и выполняет запрошенную операцию. Ваша программа должна повторить это, пока оба операнда не будут 0, а затем выйдите.

Он работает нормально, но я не уверен, как получить дескриптор цикла While, чтобы калькулятор продолжался до тех пор, пока не будет ответ 0. Извините, если это действительно основной вопрос. Любая помощь будет оценена по достоинству.

import java.util.Scanner;

class Calculator{
    public static void main(String[] args)
    {
        System.out.println("Welcome to CSC 210 Calculator by Bob the Builder!");
        System.out.println("Enter an integer operation: ");

    Scanner input = new Scanner(System.in);

        int x = input.nextInt();
        String operation= input.next();
        int y = input.nextInt();

            while(x + y != 0){

        if(operation.equals("+")){
            System.out.println(x + y);
        }

        else if(operation.equals("-")){
            System.out.println(x - y);
        }

        else if(operation.equals("*")){
            System.out.println(x * y);
        }   

        else if(operation.equals("/")){
            System.out.println(x / y);
        }

        else if(operation.equals("%")){
            System.out.println(x % y + y);
        }


        else {
            System.out.println("Operation is invalid.");
        }


                System.out.println("Enter an integer operation: ");
                if(x + y != 0);
                                break;
        }

    }
}
  • 0
    Что вы можете сделать, это создать bool flag = false и запускать свой код, пока flag станет false. Как только операция =0 установите ваш флаг в true.
Теги:
while-loop

2 ответа

0

используйте случай переключателя вместо оператора if else

if(a !=0 && b!=0)
{
switch(ch)//ch is where you stored the operator
{

case '-': System.out.println(a - b);
break;
case ' +':System.out.println(a+b);break;
}
else
{
 System.out.println("Enter an integer operation: ");}
-1

Чтобы решить проблему, о которой вы говорили выше.

Напишите простую программу калькулятора, которая печатает приветственное сообщение, принимает простое арифметическое выражение от пользователя и выполняет запрошенную операцию. Ваша программа должна повторить это, пока оба операнда не будут 0, а затем выйдите.

вы должны обратить особое внимание на следующие советы:

  1. "пока оба операнда не равны 0", поэтому вы можете просто выйти из условия "x + y! = 0", например x = 5, y = -5, вы не можете просто выйти из строя.
  2. "repeat" означает, что вы должны назначить новое значение int переменной x и y в цикле while.

здесь код, может помочь вам

import java.util.Scanner;

class Calculator{

    public static void main(String[] args){
        System.out.println("Welcome to CSC 210 Calculator by Bob the Builder!");
        System.out.println("Enter an integer operation: ");

        Scanner input = new Scanner(System.in);

        int x = input.nextInt();
        String operation= input.next();
        int y = input.nextInt();

        while(x != 0 && y != 0){

            if(operation.equals("+")){
                System.out.println(x + y);
            }
            else if(operation.equals("-")){
                System.out.println(x - y);
            }

            else if(operation.equals("*")){
                System.out.println(x * y);
            }   

            else if(operation.equals("/")){
                System.out.println(x / y);
            }

            else if(operation.equals("%")){
                System.out.println(x % y + y);
            }
            else {
                System.out.println("Operation is invalid.");
            }
            System.out.println("Enter an integer operation: ");

            x = input.nextInt();
            y = input.nextInt();
        }

    }
}
  • 0
    добавить 'операция = input.next ();' в то время как цикл.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню