Hola, no comprendo porque se saltea una llinea de mi codigo

Leon - 20 nov 2022 a las 22:16
package vector33;

import java.util.Scanner;


public class Vector33 {


    public static void main(String[] args) {
   
    
    Scanner scan = new Scanner (System.in); 
    System.out.println("Ingrese la cantidad de personas a registrar: ");
    int cantidad = scan.nextInt();
    
    String persona [][] = new String [cantidad][3];
    
    
    for (int f=0; f<cantidad; f++){
      for (int c=0; c<3; c++){
          
           if(c==0) {
          
               System.out.println("Ingrese el nombre de la persona a registrar: ");
               persona[f][c] = scan.next();
          } else if (c==1) {
               System.out.println("Ingrese el apellido de la persona a registrar: ");
               persona[f][c] = scan.nextLine();         
          }else{
               System.out.println("Ingrese el dni de la persona a registrar: ");
               persona[f][c] = scan.next();         
          }      
      
      } 

    }
    for (int f=0; f<cantidad; f++){
 System.out.println("--------------------PERSONA: "+f+"---------------------------");  
 System.out.println(" ");
 System.out.println("El nombre y apellido es "+persona[f][0]+" "+persona[f][1]+" y  su dni es "+persona[f][2]);
 System.out.println(" ");
 System.out.println("-----------------------------------------------");


 
      }
    }