Number input Exception thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -


in program you're supposed enter distance assigned variable. select number signifies type of conversion want make. example, if selected number 1 , pressed enter, convert meters kilometers.

i went test run, entered meters in , pressed enter. unable enter conversion wanted exception caused here:

please enter distance in meters: 500 please enter number of conversion want make:  1. convert kilometers  2. convert inches  3. convert feet  4. quit programexception in thread "main" java.lang.stringindexoutofboundsexception: string index out of range: 0 @ java.lang.string.charat(string.java:658) @ conversionwilson.main(conversionwilson.java:41) 

not sure causing exception.

public static void main (string [] args) {  // scanner object read input scanner keyboard = new scanner (system.in); // prompt user distance , conversion. system.out.println("welcome conversion program."); system.out.println("with program, can enter distance , convert form of measurement."); system.out.print("please enter distance in meters: ");  if (meters >= 0) {    meters = keyboard.nextdouble(); } else {    system.out.println("meters cannot negative number. please choose positive number."); }  system.out.print("please enter number of conversion want make: \n" +                  "1. convert kilometers \n" + "2. convert inches \n" + "3. convert feet \n" +                  "4. quit program"); input = keyboard.nextline(); conversion = input.charat(0);  // deciding conversion method call.  switch (conversion) {   case '1':      showkilometers(meters);      break;    case '2':      showinches(meters);      break;    case '3':      showfeet(meters);      break;    case '4':      system.out.println("beep boop bop. quitting program now. later.");      break;    default:      system.out.println("you did not select possible choice. please run program again , sure choose correct number."); }          

i tried seeing if find resolve via search, of them seem have issue character @ index 0 being letter, input number.

meters = keyboard.nextdouble(); issue reads number , not entire line. need add keyboard.nextline() after it. nextline() call later consuming rest of line.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -