keypad not returning numbers

I have a 4x4 keypad that I bought recently and when I go to enter numbers/letters it works fine, but my only problem is that when I use an if statement to check if a key is pressed nothing happens.

#include <Keypad.h>

int ledRed = 11;
int ledGreen = 12;

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
   Serial.begin(9600);
}
  
void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  
    if(key == 1){
      digitalWrite(ledGreen, HIGH);
      digitalWrite(ledRed, LOW);
      Serial.println("Correct");
    }else{
      digitalWrite(ledRed, HIGH);
      digitalWrite(ledGreen, LOW);
    }
  }
}

I have tried taking the if(key == 1) statement out of the if (key) statement and still does not work. Thanks in advanced!

But you don't have any key mapped to 1. You have a key mapped to '1' (aka 49). http://www.asciitable.com/

try:

if(key == '1')

I'm 100% sure I tried that but thanks!

stuartfong:
I'm 100% sure I tried that but thanks!

You should try again then. If it doesn't work then post that code.

No No No, I meant I was really sure that I tried that and it didn't work. But now that I post a question about it, it starts to work. Thanks!