4
« en: 25 de Abril 2020, 07:26 »
Hola comunidad! Soy nuevo en esto y estoy teniendo problemas para resolver algo. Lo que pretendo programar es un metodo que me resuelva lo siguiente:
tengo un numero "Apuesta" de 4 cifras 1-2-3-4
tengo un numero "PrimerPremio" de 4 cifras XXXX
no logro que el programa me diga que tengo aciertos a 1 cifra.
Y tampoco logro que cuando ingreso un numero de solo 2 cifras en Apuesta no me rellene de ceros los 2 lugares vacios (centena y unidad de mil).
import java.util.Scanner;
public class BuscarAciertos {
public BuscarAciertos() {
Scanner teclear = new Scanner(System.in);
System.out.print("Ingrese numero apostado (hasta 4 cifras): \n" );
numero = teclear.nextInt();
if (numero<10000 && numero>999){
XXXX=true;
XXX=true;
XX=true;
X=true;
cuarto = numero%10;
numero = numero/10;
tercero = numero%10;
numero = numero/10;
segundo = numero%10;
numero = numero/10;
primero = numero%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d %d %d \n", primero, segundo, tercero, cuarto);
} else if (numero<1000 && numero>99) {
XXXX=false;
XXX=true;
XX=true;
X=true;
tercero = numero%10;
numero = numero/10;
segundo = numero%10;
numero = numero/10;
primero = numero%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d %d \n", primero, segundo, tercero);
}else if (numero<100 && numero>10){
XXXX=false;
XXX=false;
XX=true;
X=true;
segundo = numero%10;
numero = numero/10;
primero = numero%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d \n", primero, segundo);
}else if (numero<10 && numero>0){
XXXX=false;
XXX=false;
XX=false;
X=true;
primero = numero%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d \n", primero);
}
//SEPARAMOS LA CABEZA EN 4
System.out.print("Escribe el numero GANADOR !!: \n" );
int cabeza=teclear.nextInt();
if (cabeza<10000 && cabeza>999){
cuartoC = cabeza%10;
cabeza = cabeza/10;
terceroC = cabeza%10;
cabeza = cabeza/10;
segundoC = cabeza%10;
cabeza = cabeza/10;
primeroC = cabeza%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d %d %d \n", primeroC, segundoC, terceroC, cuartoC);
}else if (cabeza<1000 && cabeza>99) {
terceroC = cabeza%10;
cabeza = cabeza/10;
segundoC = cabeza%10;
cabeza = cabeza/10;
primeroC = cabeza%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d %d \n", primeroC, segundoC, terceroC);
}else if (cabeza<100 && cabeza>10){
segundoC = cabeza%10;
cabeza = cabeza/10;
primeroC = cabeza%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d %d \n", primeroC, segundoC);
}else if (cabeza<10 && cabeza>0){
primeroC = cabeza%10;
System.out.printf("Los numeros separados son:");
System.out.printf("%d \n", primeroC);
}
if ( cuarto==cuartoC && tercero==terceroC && segundo==segundoC && primero==primeroC ){
System.out.println("Felicitaciones acertaste las 4 cifras");
}else if ( XXXX=false && cuarto==cuartoC && tercero==terceroC && segundo==segundoC && primero!=primeroC ){
System.out.println(" acertaste las 3 cifras");
}else if (XXX=false && cuarto==cuartoC && tercero==terceroC && segundo!=segundoC ){
System.out.println("acertaste las 2 cifras");
}else if (XX=false && cuarto==cuartoC && tercero!=terceroC){
System.out.println(" acertaste solo 1 cifra");
} else {
System.out.println(" SIN ACIERTOS.");
}
}
private int jugada;
private int numero;
boolean XXXX=false;
boolean XXX=false;
boolean XX=false;
boolean X=false;
private int cuarto;
private int tercero;
private int segundo;
private int primero;
private int cuartoC;
private int terceroC;
private int segundoC;
private int primeroC;
}