java 怎么判断除数是否为零

Python016

java 怎么判断除数是否为零,第1张

除数为0了就不该有返回值了,应该手动抛出异常

public class Manager{

public double div(double x,double y)

{

try{

if(y==0)

{

throw new ArithmeticException()

}

else

return x/y

}catch(ArithmeticException ae)

{

ae.printStackTrace()

System.out.println("除数为0")

}

return x/y

}

    public static void main(String ar[])

    {

     Manager m=new Manager()

     System.out.println(m.div(10, 0))

    }

}

运行结果:

这种问题写个代码跑一下就可以了,java中整数除以0会引发

java.lang.ArithmeticException: / by zero

ArithmeticException是出现异常的运算条件时,抛出此异常,结果如下图:

除此之外还要注意,浮点数除以0将会的得到 Infinity(无穷大)或NaN结果,但不会报异常。

super("除数为0异常")Container container = getContentPane()container.setLayout(new GridLayout(3, 2))container.add(new JLabel("输入被除数", SwingConstants.RIGHT))numeratorField = new JTextField(10)container.add(numeratorField)container.add(new JLabel("输入除数并回车", SwingConstants.RIGHT))denominatorField = new JTextField(10)container.add(denominatorField)denominatorField.addActionListener(this)container.add(new JLabel("结果", SwingConstants.RIGHT))outputField = new JTextField()container.add(outputField)setSize(425, 100)setVisible(true)}public void actionPerformed(ActionEvent event) {outputField.setText("")numerator = Integer.parseInt(numeratorField.getText())// 被除数try {denominator = Integer.parseInt(denominatorField.getText())} catch (NumberFormatException ex) {// 捕捉除数格式异常错误System.out.println("I detected Exception" + ex.toString())return// 当发现异常的时候退出方法}try {/** 这个地方调用quotient()方法,则必须要捕捉异常*/quotient = quotient(numerator, denominator)} catch (myArithmeticException e) {// TODO Auto-generated catch blockSystem.out.println(e.toString())outputField.setText(e.toString())return}outputField.setText(Integer.toString(quotient))}/** 这个方法抛出异常,那么调用这个方法是就要捕捉异常*/public int quotient(int numerator, int deniminator)throws myArithmeticException {if (denominator == 0)throw new myArithmeticException(denominator)return numerator / deniminator}public static void main(String[] args) {// TODO Auto-generated method stub