Heyo,
Your error is due to
Java trying to shoehorn
String data into a Double. That won't work, and thankfully you don't have to make it work from the sound of things. All you have to do is tell the misguided user that they are trying to hammer a square peg into a round hole. However, first you have to tell Java to disregard anything that's not round. To that end, have you considered the Scanner.hasNextDouble() method?
hasNextDouble() is one of the hasNext () group of methods, designed to let you identify if Scanner input is acceptable before your program chokes on it. It returns a boolean true|false if the next piece of input is acceptable to its format, but most importantly
does not advance the Scanner. This means you can check the input, then if it's what you want to use you can take it. If not, you can carry out a different set of instructions.
The Oracle documentation is here:
http://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html#hasNextDouble%28%29 Since they can be a little opaque at times, here's an example of one way you can use hasNextDouble.
Hopefully things are a bit clearer now! Oh, and if you have the book Just Java 2, check out Chapter 17 "Simple Input Output". The author has some good clarification on the Scanner class, and Pg. 393 explains more about the hasNext methods.