Switch/case sketch falls-through to default

This simple sketch lights an LED when the corresponding number is entered in the serial monitor. It works fine in that the correct LEDs light. However the default is triggered every time, even when a valid case is entered. I am probably missing something simple. Thanks in advance.

int val;
void setup()
{
  for(int i = 7; i < 13; i++)
  {
    pinMode(i,OUTPUT);
  }
  Serial.begin(9600);
  Serial.println("enter a number from 7 to 13 to light the corresponding LED");
}

void loop()
{
  if(Serial.available())
  {
    val = Serial.read();
    switch(val)
    {
      case 7:
      digitalWrite(7,HIGH);
      break;

      case 8:
      digitalWrite(8,HIGH);
      break;

      case 9:
      digitalWrite(9,HIGH);
      break;

      case 10:
      digitalWrite(10,HIGH);
      break;

      case 11:
      digitalWrite(11,HIGH);
      break;

      case 12:
      digitalWrite(12,HIGH);
      break;

      default:
      Serial.println("Invalid selection, try again");
      break;
    }
  }
}

I am sorry, the above posted sketch is the wrong version. Please use the following:

int val;
void setup()
{
  for(int i = 7; i < 13; i++)
  {
    pinMode(i,OUTPUT);
  }
  Serial.begin(9600);
  Serial.println("enter a number from 7 to 13 to light the corresponding LED");
}

void loop()
{
  if(Serial.available())
  {
    val = Serial.parseInt();
    switch(val)
    {
      case 7:
      digitalWrite(7,HIGH);
      break;

      case 8:
      digitalWrite(8,HIGH);
      break;

      case 9:
      digitalWrite(9,HIGH);
      break;

      case 10:
      digitalWrite(10,HIGH);
      break;

      case 11:
      digitalWrite(11,HIGH);
      break;

      case 12:
      digitalWrite(12,HIGH);
      break;

      default:
      Serial.println("Invalid selection, try again");
      break;
    }
  }
}

Set your monitor to no line ending, and the problem will go away. Alternative you can clear any new line or carriage return characters with throw away Serial.read() commands.

int val;

void clearInput()//discard NL/CR
{
  while (Serial.available())
  {
    Serial.read();//throw away any terminating character
    delay(5);//see if there's another
  }
}

void setup()
{
  for(int i = 7; i < 13; i++)
  {
    pinMode(i,OUTPUT);
  }
  Serial.begin(9600);
  Serial.println("enter a number from 7 to 13 to light the corresponding LED");
}

void loop()
{
  if(Serial.available())
  {
    val = Serial.parseInt();
    clearInput();
     
    switch(val)
    {
      case 7:
      digitalWrite(7,HIGH);
      break;

      case 8:
      digitalWrite(8,HIGH);
      break;

      case 9:
      digitalWrite(9,HIGH);
      break;

      case 10:
      digitalWrite(10,HIGH);
      break;

      case 11:
      digitalWrite(11,HIGH);
      break;

      case 12:
      digitalWrite(12,HIGH);
      break;

      default:
      Serial.println("Invalid selection, try again");
      break;
    }
  }
}

Thank you very much cattledog! That did the trick.