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

当分母为0时,如何更改消息“无穷大”?

郑星雨
2023-03-14

我是一个高中学生,我们有一个项目,创建一个计算器,其中一个任务是改变消息“无限”为“未定义”,有什么建议吗?

import java.util.Objects;
import java.util.Scanner;

public class Calculator {    

    public static void plus(int a, int b) {
        System.out.println(a + b);
    }

    public static void minus(int a, int b) {
        System.out.println(a - b);
    }

    public static void multiply(int a, int b) {
        System.out.println(a * b);
    }

    public static double divide(double a, double b) {
        double c = (a / b);
        return c;    
    }

    public static void main(String[] args) {

        System.out.println("Menu");
        System.out.println("type [+] = Addition");
        System.out.println("type [-] = Subtraction");
        System.out.println("type [*] = Multiplication");
        System.out.println("type [/] = Division");

        Scanner input = new Scanner(System.in);

        System.out.println("Enter the first operand: ");
        int number_a = input.nextInt();
        System.out.println("Enter the operator: ");
        String operator = input.next();
        System.out.println("Enter the second operand: ");
        int number_b = input.nextInt();
        System.out.println("Mathematical expression = " + number_a + operator + number_b);

        if (operator.equals("+")) {    
            plus(number_a, number_b);    
        } else if (operator.equals("-")) {    
            Calculator.minus(number_a, number_b);    
        } else if (operator.equals("*")) {    
            Calculator.multiply(number_a, number_b);    
        } else if (operator.equals("/")) {    
            System.out.println(Calculator.divide(number_a, number_b));    
        } else System.out.println("Please enter a valid mathematical operator");
    }
} 

共有1个答案

符畅
2023-03-14

试试这个。

static void divide(double a, double b) {
    double c = a / b;
    String s;
    if (c == Double.POSITIVE_INFINITY || c == Double.NEGATIVE_INFINITY || c == Double.NaN)
        s = "Undefined";
    else
        s = Double.toString(c);
    System.out.println(s);
}
 类似资料:
  • 问题内容: 我正在按照以下内容进行编写,其中在比较两个Unicode文本的多行块时,我试图产生一个不错的错误消息。进行比较的内部方法会引发一个断言,但是默认的解释对我没有用 我需要在代码中添加如下内容: 我无法弄清楚如何在我捕获的assertionerror中更改打印的错误消息。我总是得到,它仅显示输出的第一行。 如何更改断言消息以打印出我想要的任何内容? 如果相关的话,我正在运行测试。 问题答案

  • 在使用JAXB对XSD文件进行XML验证期间,如果XML文件无效,我会得到。我通过调用。结果字符串是德语。 我使用的是JAXB2.2。在德国系统上使用Java8。 是什么决定了JAXB异常消息的语言,以及如何将其更改为英语? 以下是代码: 这是事件处理程序: 下面是事件处理程序输出的示例:

  • 我们使用核心JMS客户机库,通过Boomi中的JMS连接器向ActiveMQ Artemis 2.11.0发送消息。但是,当通过ActiveMQ管理控制台查看队列中的消息时,队列中消息的时间戳与当前时间和日期不同。队列中的消息是从今天开始的,但您可以看到它的日期是去年9月: 你知道如何修复这个配置吗?

  • 我有一个典型的具有多种语言(法语、英语和荷兰语)的web应用程序,我正在使用页面卸载触发器来警告用户在离开页面/关闭选项卡/等等时未保存的更改。这个很管用。 我的问题是,在不改变浏览器语言的情况下,我如何改变对话框标题和“离开此页”和“留在此页”两个框的onbeforeunload消息的语言?

  • 问题内容: 我正在尝试将Bootstrap包装到具有集成表单验证的组件中。 简短:假设我有 一旦pases验证,我怎么能通知(父节点)来添加一个类? 我在这里创建了一个简化的Codepen版本 我想根据验证状态,然后更改FieldGroup的状态,以便可以正确更改类名。(添加 等),并最终将类添加到Form组件。 问题答案: 您需要将a传递给子组件。我只是分叉了您的Codepen,并添加了以下代码

  • 问题内容: 在Python中(通过日志记录模块)临时更改日志记录消息格式的最简单方法是什么? 目标是具有某种标准的消息格式,同时能够临时添加有关正在读取的某些文件的信息(如文件名);当不再读取文件时,消息格式应恢复为其默认值。产生该消息的程序 不 知道正在读取哪个文件,因此,如果其消息自动包含相关的文件名(错误消息将是:“ 读取文件 ***时出错:…”,而不是该消息),将是很好的选择。 “错误:…