1
Aprender a programar desde cero / Java ejemplo simulación aleatorios juego lotería primitiva Ejercicio 2 CU00909C
« en: 12 de Noviembre 2016, 19:29 »
Buenas!! Este es mi primer post! y antes que nada quisiera agradecerles a los profesores, compañeros por el tiempo y esfuerzo empleado en enseñar, difundir, corregir este curso... Lo poco (que para mi es muchisimo) que he avanzado se lo debo a ustedes muchachos!! Muchas gracias y felicitaciones!!
Como veran soy novato (super novato) en el arte de la programacion! asi que no se sorprendan si aparece cualquier burrada por aqui!!
Ejercicio 2 CU00909C del curso avanzado de Java
Algunos metodos de esta clase lo consegui investigando un poco por internet.. asi que no crean que salió de este cerebruto!!
La clase main
Como veran soy novato (super novato) en el arte de la programacion! asi que no se sorprendan si aparece cualquier burrada por aqui!!
Ejercicio 2 CU00909C del curso avanzado de Java
Citar
Ahora vamos a jugar a la “Lotería primitiva”. Para ello, se pedirá al usuario que introduzca 6 números enteros comprendidos entre el 1 y el 49 ambos incluidos. No estará permitido repetir número. Una vez elegidos los seis números el programa nos mostrará nuestros 6 números así como la combinación ganadora (ordenada de menor a mayor). Esta combinación constará de 6 números entre 1 y 49 elegidos al azar por el programa. Finalmente nos dirá cuántos aciertos hemos tenido y nos preguntará si queremos volver a jugar.
Ejemplo de ejecución:
Elige 6 numeros entre el 1 y el 49.
Elige el numero 1 : 3
Elige el numero 2 : 8
Elige el numero 3 : 14
Elige el numero 4 : 2
Elige el numero 5 : 34
Elige el numero 6 : 38
Numeros Elegidos : 3 8 14 2 34 38
Combinación ganadora : 6 14 21 27 30 48
Has acertado : 1 números
Quieres probar otra vez ? (S/N) : n
Adiós
Código: [Seleccionar]
import java.util.Scanner;
/**
*
* @author usuario
*/
public class EntradaTeclado {
private int entradaInt;
private String entradaStr;
Scanner sc = new Scanner(System.in);
Scanner scStr = new Scanner(System.in);
public EntradaTeclado() {
entradaInt = 0;
entradaStr = "";
}
public void setEntradaInt() {
entradaInt = sc.nextInt();
}
public int getEntradaInt() {
return entradaInt;
}
public void setEntradaStr() {
entradaStr = scStr.nextLine();
}
public String getEntradaStr() {
return entradaStr;
}
}
Algunos metodos de esta clase lo consegui investigando un poco por internet.. asi que no crean que salió de este cerebruto!!
Código: [Seleccionar]
import java.util.Arrays;
public class DatosUnicos {
private int vector[];
private EntradaTeclado entrada1;
public DatosUnicos(){
vector=new int[6];
entrada1= new EntradaTeclado();
}
public int generarAle(int min,int max){
return (int)((max-min+1)*Math.random()+min);
}
public int buscar(int n){
for(int i=0;i<vector.length;i++){
if(vector[i]==n){
System.out.println("Numero repetido... Por favor elija otro numero: ");
return i;
}
}
return -1;
}
public void llenarDatosAle(){
int n;
for(int i=0;i<vector.length;i++){
do{
n=generarAle(1,49);
}while(buscar(n)!=-1);
vector[i]=n;
}
}
public void llenarDatos(){
System.out.println("Elige 6 numeros entre el 1 y el 49.");
int n;
for(int i=0;i<vector.length;i++){
System.out.print("Elije el numero " + (i + 1) + ": ");
do{
entrada1.setEntradaInt();
n=entrada1.getEntradaInt();
}while(buscar(n)!=-1);
vector[i]=n;
}
}
public String mostrarDatos(){
return Arrays.toString(vector);
}
public int getVectorElemento(int e){
return vector[e];
}
public void ordenar(){
Arrays.parallelSort(vector);
}
}
La clase main
Código: [Seleccionar]
public class MainLoteria {
public static void main(String[] args) {
EntradaTeclado entrada = new EntradaTeclado();
DatosUnicos cg = new DatosUnicos();
DatosUnicos numElegidos = new DatosUnicos();
String continuar;
cg.llenarDatosAle();
cg.ordenar();
do {
int acertados = 0;
numElegidos.llenarDatos();
numElegidos.ordenar();
System.out.println("Numeros elegidos " + numElegidos.mostrarDatos());
System.out.println("Combinacion ganadora " + cg.mostrarDatos());
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
if (cg.getVectorElemento(i) == numElegidos.getVectorElemento(j)) {
acertados++;
}
}
}
if (acertados != 0) {
System.out.println("¡Has acertado: " + acertados + " nùmeros!");
} else {
System.out.println("¡No has acertado ningun numero");
}
System.out.println("Quieres probar otra vez?(S/N): ");
entrada.setEntradaStr();
continuar = entrada.getEntradaStr();
} while (continuar.equalsIgnoreCase("s"));
System.out.println("Adios");
}
}