if(keypad.getKey()!= NO_KEY);
{
char key = keypad.getKey();
Why do you need to read the key AGAIN AND AGAIN? key HAD a value when the while loop ended, or it would have if you'd used my code.. DO NOT CREATE ANOTHER VARIABLE CALLED KEY!!!