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

在Java中获取数字异常中的倒数

柳均
2023-03-14

我正在创建一个Java swing计算器。我想得到一个给定数的倒数。所以如果我输入0,它应该会打印出一条错误消息。

这是我的代码:

public class Calculator extends JFrame implements ActionListener {
    double num=0, num2=0;
    String operator;
    JButton bReciprocal=new JButton("1/x");
    JTextField result=new JTextField("0", 25);

    public void actionPerformed(ActionEvent e) {
        String command=e.getActionCommand();
        if(command=="1/x") {
            try {
                num=1/num;
                result.setText(Double.toString(num));
            }
            catch(ArithmeticException ae) {
                result.setText("Math Error");
                num=0;
            }
        }
    }
}

共有1个答案

司徒隐水
2023-03-14

1.0/0.0(二倍的除法)返回无穷大。

您甚至可以看到Double和Float类中positive_infinity的定义是:

/**
 * A constant holding the positive infinity of type
 * <code>double</code>. It is equal to the value returned by
 * <code>Double.longBitsToDouble(0x7ff0000000000000L)</code>.
 */
public static final double POSITIVE_INFINITY = 1.0 / 0.0;

/**
 * A constant holding the positive infinity of type
 * <code>float</code>. It is equal to the value returned by
 * <code>Float.intBitsToFloat(0x7f800000)</code>.
 */
public static final float POSITIVE_INFINITY = 1.0f / 0.0f;

如果希望抛出arithmeticexception,请除整数:1/0。

顺便说一句,您应该将if(command==“1/X”)更改为if(command.equals(“1/X”))

 类似资料:
  • 我使用以下代码在 NTAG213 NFC 标签上设置 AUTH0(需要密码验证的第一页): 然而,当我在AUTH0上写00h(作为起始地址)时,总是会出现异常:“收发器失败”。 你能告诉我这里可能会出什么问题吗?

  • 我在练习Spring靴。我已经从git repo下载了Spring Boot代码,并将其导入到InteliJ IDEA上。在执行spring boot应用程序时,我得到了以下异常。你对此有什么想法吗?这是我的pom.xml org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot

  • 每当我的VNC连接被终止时(每当我重新启动VM时),我都试图捕捉一个异常,并且我试图忽略它以继续我的Jython脚本。我不知道如何编写try catch语句来捕获异常,因为它起源于Java。这是一个sikuliX脚本。

  • 我正在使用以下PostgreSQL函数从数据库中的表中删除记录。 上表的主键列(即段表的id列)被另一个表引用为外键,当我执行上述函数从另一个表引用的段表中删除记录时,该函数会按预期引发错误(如下所示)。 现在我从我的Java代码调用这个PostgreSQL函数,它使用Hibernate如下所示, 当我将相同的id传递给上述函数(Integer)(query.list()时。get(0))执行时不

  • 问题内容: 我想知道其他SOer在实践中如何倾向于处理和/或防止异常。 您在什么情况下可以防止例外情况,以及如何防止例外情况?在什么情况下您会捕获异常? 通常,我通常会说“ NullPointerExceptions”(和其他类似的事件) 我发现在大多数情况下,这比使用try-catch块所涉及的所有事情要小。 当潜在异常更复杂或数量更多时,我使用try-catch块。 问题答案: 我认为,仅当引

  • 问题内容: 我是Java和OOP的新手,这是我的问题。当我运行以下代码时,我得到了 线程“主”中的异常java.lang.StackOverflowError。 问题出在我创建对象的代码中。class不会发生问题。如果在run方法内部创建对象,则代码可以正常工作。你能解释一下为什么吗? 问题答案: 您的类的字段包含类的另一个实例,也有自己的字段,包含的另一个实例,依此类推。 换句话说,当您创建该实