java do while loop keeps repeating and I can't figure out why -


so i've attached debugger, , tried different inputs , can't seem figure out why won't past loop. when ran enter "l" or "l", entry gets set that, input set capitalized version , repeats.

public static char displaymenu(){     char input;     sc.nextline();//clear junk     {         system.out.println();         system.out.println("\t\t enter l (l)oad ");         string entry = sc.nextline();         input = entry.touppercase().charat(0);     } while (input != 'l' || input!='m' || input != 'p' || input != 'q'); 

your boolean || incorrect. if value l not m, p or q loop continue iterate. think wanted like,

while (input != 'l' && input != 'm' && input != 'p' && input != 'q'); 

or

while (!(input == 'l' || input == 'm' || input == 'p' || input == 'q')); 

consider when input l, l not m , initial while condition continue iterate.