当前位置: 首页 > 知识库问答 >
问题:

简单的Java计算器-同时循环直到答案为0[重复]

石正奇
2023-03-14

对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;
        }

    }
}

共有2个答案

狄德泽
2023-03-14

来解决你上面提到的问题。

编写一个简单的计算器程序,打印欢迎消息,接受用户的简单算术表达式,并执行请求的操作。程序应重复此操作,直到两个操作数都为0,然后退出。

您应该注意以下提示:

  1. “直到两个操作数都为0”,因此可以在条件“x y!=0”下循环,例如,x=5,y=-5,不能循环

这是代码,可能对你有帮助

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();
        }

    }
}
富辰阳
2023-03-14

使用switch大小写代替if etc语句

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: ");}
 类似资料:
  • 问题内容: 首先,这不是一个作业问题。我正在练习有关Java的知识。我想一个很好的方法是编写一个没有帮助的简单程序。不幸的是,我的编译器告诉我我不知道如何解决的错误。在不更改大量逻辑和代码的情况下,有人可以指出我的一些错误在哪里吗?谢谢 问题答案: 这会工作

  • 问题内容: 例如,这样简单的事情: 打印110.00000000000001而不是110。使用其他数字代替100 * 1.1还会给出很多数字,并且末尾有一些随机数字,这是不正确的。 有任何想法吗? 问题答案: 浮点符号的准确性有限。这是一个指南:http : //floating-point- gui.de/

  • 迭代器无效是如何处理的,而不是循环? 例如,这段代码不起作用,因为迭代器在插入后无效: 但是,如果我用这个for循环替换while循环,它会正确编译和运行: 为什么for循环有效而while循环无效?

  • 我正在创建一个Java项目,使用do-while循环从用户那里获取一个介于5到15之间的数字。在此之后,我将使用用户输入的数字创建一个正方形和三角形。 我现在只能重复我的问题。在我运行程序后,它运行良好,直到我输入一个数字,第二次提示用户输入一个数字。如果号码无效或无效,则不会打印。 我试着移动第二个“输入数字...”里面的do-loop,但那只是印有“对不起,无效”的提示。我对while循环中的

  • 我从我的教科书上复制了一个简单的“计算器”示例,它接受2个值和一个运算符。但是,它不会检查输入的表达式是否有效。代码应该提示用户,直到输入正确的表达式。 我应该如何根据自己的风格来修正它?有什么更好的方法?

  • 下面有两个不同的代码。两者之间的区别只是对于变量sum,sum是初始化的,而不是给sum值0 sum=0; 此代码输出: 自然数是:1 2 3 4 5 6 7 8 9 10 前 10 个自然数之和:32821 程序以退出代码结束:0 此代码输出: 自然数是:1 2 3 4 5 6 7 8 9 10 前10个自然数之和:55 程序以退出代码结束:0 代码为什么要这样做?有人能给我解释一下为什么他们给