RDM6300 RFID multiple reading

#include <SoftwareSerial.h>
#include <avr/wdt.h>
SoftwareSerial RFID(2, 3); // RX and TX

int u;
int val;
int j[13];
void setup()
{
//wdt_enable(WDTO_8S);
Serial.begin(9600);
}

void loop()
{
char ch = (char)Serial.read();
if (ch == 'i') {
RFID.begin(9600);
delay(100);
if (RFID.available() >0)
{
delay(150);

u = RFID.read();
j[0] = u;
u = RFID.read();
j[1] = u;
u = RFID.read();
j[2] = u;
u = RFID.read();
j[3] = u;
u = RFID.read();
j[4] = u;
u = RFID.read();
j[5] = u;
u = RFID.read();
j[6] = u;
u = RFID.read();
j[7] = u;
u = RFID.read();
j[8] = u;
u = RFID.read();
j[9] = u;
u = RFID.read();
j[10] = u;
u = RFID.read();
j[11] = u;
u = RFID.read();
j[12] = u;
u = RFID.read();
j[13] = u;

RFID.flush();
Serial.print(j[0], HEX);
Serial.print(j[1], HEX);
Serial.print(j[2], HEX);
Serial.print(j[3], HEX);
Serial.print(j[4], HEX);
Serial.print(j[5], HEX);
Serial.print(j[6], HEX);
Serial.print(j[7], HEX);
Serial.print(j[8], HEX);
Serial.print(j[9], HEX);
Serial.print(j[10], HEX);
Serial.print(j[11], HEX);
Serial.print(j[12], HEX);
Serial.print(j[13], HEX);

Serial.println();
// resetFunc();
RFID.end();
delay(100);

RFID.begin(9600);

}
else if (RFID.available() == 0) {
Serial.println("0");
}

else if (RFID.available() < 0) {
Serial.println("0");
}

else {
Serial.println("0");
}

}

}

I have tried to show tag number whenever i give serial input as 'k' and at the same time tag on the reader. And fro reaming input from RFID id it will be shown 'zero'.

But once i put my tag on the reader and press k it starts shows tag number. it does not stop it will show tag number eventhough i have not show my on the reader. i think it id doing multiple reading .please anyone help me to solve this.

 if (RFID.available() >0)
    {
      delay(150);

      u = RFID.read();
      j[0] = u;
      u = RFID.read();
      j[1] = u;
      u = RFID.read();

If RFID.available() returns 1, how many bytes are you able to read? Using delay() to "wait for all data to arrive" is NOT appropriate.

If you KNOW that there should be 14 bytes to read, either read them as they arrive, and do nothing until the 14th one arrives, or do nothing until the 14th one arrives, and then read them all.

There is NO reason to store the value in u and then copy it to j[n]. There is NO excuse for not using a for loop to read the data.

else if (RFID.available() < 0)  {

How can there possibly be -1 bytes available to read?

      RFID.flush();

If you don't know what flush() does, do not use. If you do, do not use it inappropriately.

And fro reaming input from RFID id it will be shown 'zero'.

You want to try that again, in English? Or should I ask a moderator to move this to the Gibberish language section?