Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - LuisSanabria

Páginas: [1]
1
Aprender a programar desde cero / Re:Ejercicio 2 CU00909C
« en: 14 de Noviembre 2016, 16:42 »
Buenas! Gracias por sus correcciones! :) Efectivamente olvide volver a poner dentro del do esas lineas...  :-[ es que necesitaba tener y saber una sola combinacion ganadora para ir testeando el comportamiento en caso de acertar los numeros.. cosa que tambien podría haberlo hecho con un cg.mostraDatos() luego de llenar y ordenar (para saber la cobinacion antes de ingresar los numeros por teclado)..  ;D
En el referente a los metodos llenarDatosAle() y llenarDatos() quedaría asi no:?
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(){
        vector=new int[6];
        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(){
        vector=new int[6];
        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);
    }

   
}

2
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!! ;D :D

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!! ;D ;D
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");

    }
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".