import java.util.Scanner;
import java.util.InputMismatchException;
import java.util.NoSuchElementException;
Illustrates the need for exceptions to handle input such as: 7, seven, and dividing by 0
public class DivideTwoNumbers02{
public static int getInt(Scanner scanner, String prompt){
while(true){
System.out.print(prompt);
try{
return scanner.nextInt();
}catch(InputMismatchException e){
System.err.println("Sorry, please give enter just digits. Let's try again :)");
String garbage = scanner.next();
System.err.println("DEBUGGING: garbage: " + garbage);
}catch(NoSuchElementException e){
System.err.println("Sorry, out of input!");
System.exit(1);
}
}
}
public static void main( String[] args ){
Scanner stdinScanner = new Scanner( System.in );
int num1 = 0;
int num2 = 0;
int result = 0;
boolean success = false;
while( success == false ){
num1 = getInt( stdinScanner, "Please enter a number: ");
num2 = getInt( stdinScanner, "Please enter another number: ");
try{
result = num1 / num2;
success = true;
}catch(ArithmeticException e){
System.err.println("Sorry, can't divide by 0. Let's try again.");
}
}
System.out.println( num1 + " divided by " + num2 + " equals " + result);
}
}