import java.util.regex.Pattern;

public class Vehiculo {

    private static final int AUTOMOVIL = 1; // constante de clase
    private static final int MOTOCICLETA = 2;
    private static final int CAMION = 3;

    private String placa;
    private int tipo;

    // Constructor
    public Vehiculo(String placa, int tipo) {
        setPlaca(placa);
        setTipo(tipo);
    }

    public String getPlaca() {
        return placa;
    }

    public void setPlaca(String placa) {
        if (esPlacaValida(placa)) {
            this.placa = placa;
        } else {
            throw new IllegalArgumentException("La placa debe tener el formato ABC123.");
        }
    }

    public static boolean esPlacaValida(String placa) {
        return Pattern.matches("[A-Z]{3}\\d{3}", placa);
    }

    public int getTipo() {
        return tipo;
    }

    public void setTipo(int tipo) {
        if (tipo == AUTOMOVIL || tipo == MOTOCICLETA || tipo == CAMION) {
            this.tipo = tipo;
        } else {
            throw new IllegalArgumentException(
                    "Nümero inválido. Digite 1 para automóvil, 2 para motocicleta o 3 para camión.");
        }
    }

}


