La duda era dentro de en un for con un recorrido de 0 hasta 52.
aparece cuenta % 13, es decir que operación se realiza si cuenta vale 2 por ejemplo.
Código
import java.util.Random; public class PaqueteDeCartas { private Carta paquete[]; // creamos un array del tipo Carta (contendrá cartas) private int cartaActual; private final int NUMERO_DE_CARTAS = 52; // CONSTRUCTOR DEL PAQUETE CARTAS public PaqueteDeCartas() { "Siete", "Ocho", "Nueve", "Diez", "Jota", "Dama", "Rey" }; paquete = new Carta[NUMERO_DE_CARTAS]; // creas un paquete con 52 casillas una para cada carta cartaActual = 0; // llenamos el paquete con objetos carta for (int cuenta = 0; cuenta < paquete.length; cuenta++) { paquete[cuenta] = new Carta(caras[cuenta % 13], palos[cuenta / 13]); } }