title: Exception handling, first try/catch blocks don't reiterate until proper input is accepted
body: <p>Writing a program that asks user's input to calculate whether they can afford a car or not. when prompting the user to enter the price of the car, my try/catch blocks do not work as desired. the program continues to run the code after the first try/catch block. worth noting that all the other code works as desired (the program asks for a lot of doubles to be entered, only the first one doesn't work)</p>
  
  <pre><code>import java.io.FileNotFoundException;
  import java.io.PrintWriter;
  import java.util.InputMismatchException;
  import java.util.Scanner;
  
  
  public class Minimal {
  
      public static void main(String[] args) {
          // TODO Auto-generated method stub
          Car car = new Car();
          Scanner sc = new Scanner(System.in);
          PrintWriter out;
          try {
              out = new PrintWriter("number.txt");
          } catch (FileNotFoundException e) {
              e.printStackTrace();
              return;
          }
          System.out.println("What is the msrp?");
  
          try 
          {
              double price = sc.nextDouble();
              car.setStickerPrice(price);
              out.println(price);
          }   
          catch (InputMismatchException e) 
          {
              System.out.println("The MSRP is a numberical value, please reenter a number.");
              out.println("The MSRP is a numberical value, please reenter a number.");
          }
          System.out.println("What is your down payment?");
          out.println("What is your down payment?");
  
  
  
  
  
          double pay = 0;
          while (true) {
  
              try {
                  pay = Double.parseDouble(sc.next());
                  break; // will only get to here if input was a double
              } catch (NumberFormatException ignore) {
                   System.out.println("Invalid input, input a numerical value: ");  
              }
          }
  
  
  
          car.setDownPayment(pay);
          out.println(pay);
          car.setOutTheDoor();
          System.out.println(
                  "Please enter your interest rate (APR) as a decimal value. For example, an interest rate of 3% would be entered as '.03.'");
          out.println(
                  "Please enter your interest rate (APR) as a decimal value. For example, an interest rate of 3% would be entered as '.03.'");
  
  
  
  
          double rate = 0;
          while (true) {
  
              try {
                  rate = Double.parseDouble(sc.next());
                  break; // will only get to here if input was a double
              } catch (NumberFormatException ignore) {
                   System.out.println("Invalid input, input a numerical value: ");  
              }
          }
  
      }
  
  }
  </code></pre>
  
  <p>Output:</p>
  
  <p>What is the msrp?<br>
  g<br>
  The MSRP is a numberical value, please reenter a number.<br>
  What is your down payment?<br>
  Invalid input, input a numerical value:<br>
  g<br>
  Invalid input, input a numerical value:<br>
  g<br>
  Invalid input, input a numerical value:<br>
  1<br>
  Please enter your interest rate (APR) as a decimal value. For example, an interest rate of 3% would be entered as '.03.'<br>
  g<br>
  Invalid input, input a numerical value:<br>
  g<br>
  Invalid input, input a numerical value:<br>
  5  </p>