JAVA - 划分为零&返回正确的答案=未定义

时间:2013-09-17 05:28:34

标签: java

当wholenumber2 = 0时,如何实现这一点,如果全数字为<或者>但不是=零它会显示另一条消息?我试图阻止潜水的基本错误0。

package SumDifProPACKAGE;     // Assigns package code.
import java.util.Scanner;     // Program uses class Scanner.
public class SumDifProCLASS { // Public class.
    public static void main( String[] args ){
      // Displays Welcome, information on calculations & creators name.
        System.out.printf( "%s\n%s\n%s\n",
         "--Welcome to JAVA Calculator!--", " --Sum, Difference, Product--", "  --??--");
        // Creates a Scanner to obtain input from the command window.
       Scanner input = new Scanner( System.in );
        // Listed integers:
        int wholenumber1; // First whole number input.
        int wholenumber2; // Second whole number input.
        int sum;          // Sum of First & Second whole number input.
        int difference;   // Difference of First & Second whole number input.
        int product;      // Product of First & Second whole number input.
        int quotient;     // Quotient of First & Second whole number input.
        int remainder;    // Remainder of the Quotient.
        int zero = 0;
        // Requests input for First whole number.
        System.out.print( "Please enter first whole number..." );
        wholenumber1 = input.nextInt();
        // Requests input for Second whole number.
        System.out.print( "Please enter first whole number..." );
        wholenumber2 = input.nextInt();
        // Displays the sum of First & Second input.
        sum = wholenumber1 + wholenumber2;
        System.out.printf( "Sum        = %d\n", sum);
        // Displays the difference of First & Second input.
        difference = wholenumber1 - wholenumber2;
        System.out.printf( "Difference = %d\n", difference);
        // Displays the product of the First & Second input.
        product = wholenumber1 * wholenumber2;
        System.out.printf( "Product    = %d\n", product);
        // Displays the quotient without the remainder of the First & Second input.   
        quotient = wholenumber1 / wholenumber2;
        System.out.printf( "Quotient   = %d", quotient);
       // Displays the remainder, continuation of quotient.
        remainder = wholenumber1 % wholenumber2;
        System.out.printf( "r%d\n", remainder);
    }

7 个答案:

答案 0 :(得分:1)

您可以使用try catch来处理(除以零)ArithmeticException,也可以检查wholenumber2是否为零

if(wholenumber2==0){
    // handle the case
} else{
    // handle the else case
}

检查this link,并提示处理这种情况的方法数量

答案 1 :(得分:0)

  

当wholenumber2 = 0时,如何实现这一点,如果全数字为<或者>但不是=零它会显示另一条消息?我试图阻止潜水的基本错误0。

一个简单的如果你需要检查。

if (wholenumber2  != 0) {
    // calculate   
}else{
  //show error message
}

答案 2 :(得分:0)

将整数除以零得到ArithmeticException。所以你可以捕捉它并显示你想要的信息。

try{
     quotient = wholenumber1 / wholenumber2;
     System.out.printf( "Quotient   = %d", quotient);
}catch(ArithmeticException ae){
     System.out.print( "Result is Undefined");
}

答案 3 :(得分:0)

请求输入时添加条件 - >

int wholenumber2 = 0
while (wholenumber2 < 1) {
    System.out.print( "Please enter second whole number..." );
    wholenumber2 = input.nextInt();
}

答案 4 :(得分:0)

一种简单的方法是if语句。

// Displays the quotient without the remainder of the First & Second input.   
if(wholenumber2 != 0){
    quotient = wholenumber1 / wholenumber2;
    System.out.printf( "Quotient   = %d", quotient);
}
else{
     System.out.printf("Cannot divide by zero");
}

btw:作为对其他一些答案的评论,您应该使用异常来控制执行流程。

答案 5 :(得分:0)

Long division_operation (Long a, Long b) throws Exception
{
    Long t = new Long (1);

    try
    {
        t = (a.longValue() / b.longValue());
    }
    catch (ArithmeticException e)
    {
        t = null;
    }
    finally
    {
        return t;
    }
}

答案 6 :(得分:0)

考虑到你一次做所有操作,我 建议您在输入后立即检查fullnumber2的值 即,

Scanner input = new Scanner(System.in);

int wholenumber2 = input.nextInt();

while(wholenumber2==0)
{
System.out.println( "Whole Number cannot be zero!!" ); 
System.out.print( "Please enter Second whole number..." );
wholenumber2 = input.nextInt();
}