i not know how explain here go.
i testing bigger program have make. in program have validate input user see if being accepted valid answer.
i have code if input invalid if attempted enter letter code crashes error:
enter letter: f answer not valid. enter letter: exception in thread "main" java.lang.stringindexoutofboundsexception: string index out of range: 0     @ java.lang.string.charat(string.java:695)     @ example.main(example.java:18)   here code:
import java.util.scanner;  public class example {     public static void main(string[] args)     {         scanner input = new scanner(system.in);           boolean userinput;                  {                 char user_answer = 0;                   system.out.println("enter letter:");                 user_answer=input.nextline().charat(0);                  if ( user_answer == 'a')                 {                      userinput = true;                 }                 else if (user_answer == 'b')                 {                      userinput = true;                 }                 else if (user_answer == 'c')                 {                      userinput = true;                 }                 else if (user_answer == 'd')                 {                      userinput = true;                 }                 else                 {                     system.out.println("your answer not valid.");                     userinput = false;                     input.next();                 }           }          while   (!userinput);       }  }             
either remove input.next() or change input.nextline() what's happening input.next() catch a input. go beginning of do , start over, , input.nextline() had pressed enter input a , a consumed input.next().
Comments
Post a Comment