The problem is that I get an error when I try it several times. The error I get is that it can not be divided by zero and it happens in this line:
numeroAdvAA = (numeroAdvAux / divisionDigito) % 10;
This is the part of the code where I receive the error:
public static void main(String[] args) {
//Entorno:
int numeroAdivinar;
int numeroSecreto;
int numeroAdvAux;
int numeroSeAux;
byte contador;
byte contadorDigito = 0;
int cifrasAdivinar = 0;
boolean ganador = false;
int numeroAdvAA;
int numeroSeAA;
int divisionDigito = 10;
int divisionDigitoAux;
int contadorDigitoAux = 0;
int divisionDigitoSec = 10;
int divisionDigitoSecAux=0;
//Algoritmo:
System.out.println("Turno del Primer Jugador");
do {
System.out.println("Introduzca un numero por teclado");
numeroAdivinar = Leer.datoInt();
} while (numeroAdivinar <= 0);
contador = 0;
numeroAdvAux = numeroAdivinar;
//Contador de digito
while (numeroAdvAux != 0) {
numeroAdvAux = numeroAdvAux / 10;
contadorDigito++;
}
//Para fabricar la division
for (int i = 0; i < contadorDigito - 1; i++) {
divisionDigito *= 10;
}
divisionDigitoAux = divisionDigito;
System.out.println("Turno del Segundo Jugador");
do {
do {
System.out.println("Introduzca el segundo numero");
numeroSecreto = Leer.datoInt();
} while (numeroSecreto <= 0);
numeroSeAux = numeroSecreto;
//Contador de digito
while (numeroSeAux != 0) {
numeroSeAux = numeroSeAux/10;
contadorDigitoAux++;
}
//Para fabricar la division
for (int i = 0; i < contadorDigitoAux - 1; i++) {
divisionDigitoSec *= 10;
}
numeroAdvAux = numeroAdivinar;
numeroSeAux = numeroSecreto;
if (numeroAdvAux == numeroSeAux) {
ganador = true;
} else {
divisionDigito = divisionDigitoAux;
divisionDigitoSecAux=divisionDigitoSec;
for (int i = 0; i < contadorDigito; i++) {
divisionDigito = divisionDigito / 10;
divisionDigitoSecAux=divisionDigitoSecAux/10;
numeroAdvAA = (numeroAdvAux / divisionDigito) % 10;
numeroSeAA = (numeroSeAux / divisionDigitoSec) % 10;//Este division digito no es igual al de arriba port eso no lo compara igual debemos hacer otro para este
if (numeroAdvAA == numeroSeAA) {
cifrasAdivinar += 1;
}
}
System.out.println("Has introducido un total de: " + cifrasAdivinar + " digitos bien colocados");
cifrasAdivinar = 0;
}
contador = (byte) (contador + 1);
} while (contador != 10 && ganador != true);
if (ganador) {
System.out.println("Has acertado todas las cifras");
} else {
System.out.println("Se te acabaron las oportunidades ");
}
}