Create a project around the following code:
import java.util.Scanner;
import javax.swing.JOptionPane;
public class DividerApp {
/**
* @param args not used
*/
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("Enter two integer values whose quotient will be computed:");
try {
//TODO: guard against null input; quit the program if null
Scanner reader = new Scanner(input);
double numerator = reader.nextDouble();
double denominator = reader.nextDouble();
double quotient = Calculator.divide(numerator, denominator);
JOptionPane.showMessageDialog(null, "The quotient is " + quotient);
}
//TODO: catch all exceptions that can be generated by the Scanner; loop back to the first instruction if exceptions are encountered
//TODO: catch exceptions generated by the Calculator; print a "can't divide by zero" message instead of the quotient
}
}
//This local class performs simple calculations
//Note the class is not public, so it can be placed in the same file as the public main class
class Calculator {
// private ctor; make this class non-instantiable
private Calculator() {
// do nothing
}
/**
* compute the quotient of the values specified as arguments
* @param num the numerator
* @param denom the denominator
* @return the quotient numerator/denominator
* @throws checked Exception if denominator is 0
*/
public static double divide( double num, double denom ) {
//TODO: Create and throw a checked Exception if the denominator is 0; set the Exception reason to "can't divide by zero"
return num/denom;
//Note: Without exceptions, dividing by zero would result in a return value of Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY.
}
}
Follow the TODO instructions to implement exception handling. Submit your modified DividerApp.java file to Blackboard (in the "HW 7" assignment).