LCD do not display

Hi, i'm a beginner to this arduino thing. i connect LCD 16X2 to I2C, i already scan LCD and it already display in serial monitor, scanner found 0X27. so i put, 0X27 to my coding for display. but the LCD still does not display the output. can somebody help me?
(this is the coding I use to scan)

#include <Wire.h>

void setup()
{
Wire.begin();

Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}

void loop()
{
byte error, address;
int nDevices;

Serial.println("Scanning...");

nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");

nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");

delay(5000); // wait 5 seconds for next scan
}

(code to display )

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup(){
lcd.backlight();
lcd.init();
}

void loop(){
char customKey = customKeypad.getKey();
if (customKey){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(customKey);
}
}

Does anything show on the display? Does the LCD backlight illuminate? Have you tried adjusting the contrast porentiometr?

If the backlight works and there are black blocks showing, when the contrast is adjusted, the problem is often in the LCD object constructor

LiquidCrystal_I2C lcd(0x27, 16, 2);

There are several ways that the I2C expander (backpack) can be wired (mapped) to the LCD. If your LCD is not wired the same as the LiquidCrystal library default pin mapping the LCD will not work.

The hd44780 library solves that problem by auto detecting the pin mapping. The hd44780 library is used in place of the liquidCrystal library. The library is availabel through the IDE Library Manager. Use the hd44780I2C_exp class.

Read the how to use this forum sticky to see how to properly post code.

i did all the step u mention. but it still do not display, this the code i get from somewhere,

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

LiquidCrystal_I2C lcd(LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  

void setup(){
  lcd.backlight();
  lcd.init(); 
}

void loop(){
  char customKey = customKeypad.getKey();
  if (customKey){
    lcd.clear();
    lcd.setCursor(0, 0); 
    lcd.print(customKey);
  }
}

the POSITIVE do not declared in this scope,

how to solve this?

There are many libraries named LiquiCrystal. They are not all the same. You are running a sketch that was made for a lidrary that you don't have. You cannot just load a random file an expect it to work. There are examples that come with the library that you have installed. Use them, not something that you downloaded from somewhere.

You did not answer the questions that I asked. I can't help if you won't answer my questions.

Really, your best hope of getting that LCD to work lies with the hd44780 library.