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 - jasolis

Páginas: [1]
1
Muchas gracias Alex, tus comentarios me son muy útiles. Voy a echarle un ojo a la solución que mencionas para afinar detalles.

Saludos!

2
Hola Alex, me he dado cuenta que el código que modifiqué al final está haciendo algo similar que al principio dado que en cada llamada al método <EntradaTeclado>.pedirEntradad() se crea un nuevo objeto de tipo Scanner...

He modificado una vez más la clase EntradaTeclado y ahora está definida de esta manera:

>>>>> clase EntradaTeclado:
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado{
   
    //Campos o atributos
    Scanner escaner;
    String entrada;
   
    //Constructor
    public EntradaTeclado(){
       escaner = new Scanner(System.in);
       entrada = "";
    }
   
   //Setter
   public void pedirEntrada(){
       entrada = escaner.nextLine();
    }
   
    //Getters
    public String getEntrada(){return entrada;}
}

Saludos!

3
Hola Alex, gracias por tomarte el tiempo de revisar mi código, me han sido muy útiles tus observaciones. Aquí están las clases modificadas, espero haberlo hecho correctamente. Saludos!

>>>>> clase EntradaTeclado:
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado{
   
    //Campos o atributos
    Scanner escaner;
    String entrada;
   
    //Constructor
    public EntradaTeclado(){
        //escaner = new Scanner(System.in);//Remueve código ineficiente
        //setEntrada(escaner.nextLine());//Remueve código ineficiente
       escaner = null;//Inicializamos el campo del objeto
       entrada = "";//Inicializamos el campo del objeto
    }
    /***** Remueve código ineficiente
    //Setters
    public void setEntrada(String valor_entrada){entrada = valor_entrada;}
    */
   
   //Nuevo método para pedir la entrada del teclado fuera del constructor
   public void pedirEntrada(){
       escaner = new Scanner(System.in);
       entrada = escaner.nextLine();
    }
   
    //Getters
    public String getEntrada(){return entrada;}
}

>>>>> clase TestListaCantantesFamosos:
Código: [Seleccionar]
import java.util.Iterator;

public class TestListaCantantesFamosos{
     public static void main(String[] args){
        System.out.println("***** EMPEZAMOS EL PROGRAMA *****");
         
        ListaCantantesFamosos  listaCantantesFamosos = new ListaCantantesFamosos();
        CantanteFamoso         cantante = null;
        //EntradaTeclado         entrada = null; //Remueve código ineficiente
        EntradaTeclado         entrada = new EntradaTeclado(); //Ahora usamos un solo objeto para pedir la entrada por teclado cada vez que se necesite
         
        System.out.println("-Añadir dos cantantes famosos a la lista-");
         
        for(int i = 0; i < 2; i++){
            cantante = new CantanteFamoso();
            System.out.println("Por favor introduce el nombre del cantante");
            //entrada = new EntradaTeclado();//Remueve código ineficiente
            entrada.pedirEntrada();//Pide entrada por teclato
            cantante.setNombre(entrada.getEntrada());
            System.out.println("Por favor introduce el disco con más ventas del cantante " + cantante.getNombre());
            //entrada = new EntradaTeclado();//Remueve código ineficiente
            entrada.pedirEntrada();//Pide entrada por teclato
            cantante.setDiscoConMasVentas(entrada.getEntrada());
            listaCantantesFamosos.addCantanteFamoso(cantante);
        }
         
        System.out.println("-Usando Iterator, mostrar el nombre de los cantantes ingresados y sus discos mas vendidos-");
        Iterator<CantanteFamoso> it = listaCantantesFamosos.getListaCantantesFamosos().iterator();
        while(it.hasNext()){
            CantanteFamoso tempCantante = it.next();
            System.out.println("Nombre del cantante: " + tempCantante.getNombre());
            System.out.println("Disco con mas ventas: " + tempCantante.getDiscoConMasVentas());
        }
       
        String respuesta = "";
       
        do{
            System.out.println("-Pedir al usuario un nuevo cantante-");
            cantante = new CantanteFamoso();
            System.out.println("Por favor introduce el nombre de otro cantante famoso");
            //entrada = new EntradaTeclado();//Remueve código ineficiente
            entrada.pedirEntrada();//Pide entrada por teclato
            cantante.setNombre(entrada.getEntrada());
            System.out.println("Por favor introduce el disco con mas ventas del cantante " + cantante.getNombre());
            //entrada = new EntradaTeclado();//Remueve código ineficiente
            entrada.pedirEntrada();//Pide entrada por teclato
            cantante.setDiscoConMasVentas(entrada.getEntrada());
            listaCantantesFamosos.addCantanteFamoso(cantante);
         
            System.out.println("-Mostrar la lista actualizada usando Iterator-");
            it = listaCantantesFamosos.getListaCantantesFamosos().iterator();
            while(it.hasNext()){
                CantanteFamoso tempCantante = it.next();
                System.out.println("Nombre del cantante: " + tempCantante.getNombre());
                System.out.println("Disco con mas ventas: " + tempCantante.getDiscoConMasVentas());
            }
           
            System.out.println("Deseas introducir otro cantante? (Y/N)");
            //entrada = new EntradaTeclado();//Remueve código ineficiente
            entrada.pedirEntrada();//Pide entrada por teclato
            respuesta = entrada.getEntrada().toLowerCase();
           
            while( !(respuesta.equals("y")) && !(respuesta.equals("n")) ){
                System.out.println("Respuesta no valida. Deseas introducir otro cantante? (Y/N)");
                //entrada = new EntradaTeclado();//Remueve código ineficiente
                entrada.pedirEntrada();//Pide entrada por teclato
                respuesta = entrada.getEntrada().toLowerCase();
            }
        }while(respuesta.equals("y"));
        System.out.println("***** FIN DEL PROGRAMA *****");
    }//Cierre del main
}//Cierre de la clase

4
Hola, mi respuesta al ejercicio CU00667B del tutorial Java desde cero

>>>>> Clase EntradaTeclado:
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado{
   
    //Campos o atributos
    Scanner escaner;
    String entrada;
   
    //Constructor
    public EntradaTeclado(){
        escaner = new Scanner(System.in);
        setEntrada(escaner.nextLine());
    }
   
    //Setters
    public void setEntrada(String valor_entrada){entrada = valor_entrada;}
   
    //Getters
    public String getEntrada(){return entrada;}
}


>>>>> Clase CantanteFamoso:
Código: [Seleccionar]
public class CantanteFamoso{
   
    //Campos o atributos
    String nombre;
    String discoConMasVentas;
   
    //Constructor
    public CantanteFamoso(){
        nombre = "Desconocido";
        discoConMasVentas = "Desconocido";
    }
   
    //Setters
    public void setNombre(String valor_nombre){nombre = valor_nombre;}
    public void setDiscoConMasVentas(String valor_discoConMasVentas){discoConMasVentas = valor_discoConMasVentas;}
   
    //Getters
    public String getNombre(){return nombre;}
    public String getDiscoConMasVentas(){return discoConMasVentas;}
   
}//Cierre de la clase

>>>>> Clase ListaCantantesFamosos:
Código: [Seleccionar]
import java.util.ArrayList;

public class ListaCantantesFamosos{
   
    //Campos o atributos
    ArrayList<CantanteFamoso> listaCantantesFamosos;
   
    //Constructor
    public ListaCantantesFamosos(){
        listaCantantesFamosos = new ArrayList<CantanteFamoso>();
    }
   
    //Método añadir objeto de tipo CantanteFamoso a la lista
    public void addCantanteFamoso(CantanteFamoso valor_cantanteFamoso){
        listaCantantesFamosos.add(valor_cantanteFamoso);
    }
   
    public CantanteFamoso getCantanteFamoso(int posicion){
        return listaCantantesFamosos.get(posicion);
    }
   
    public ArrayList<CantanteFamoso> getListaCantantesFamosos(){return listaCantantesFamosos;}
}

>>>>> TestListaCantantesFamosos:
Código: [Seleccionar]
import java.util.Iterator;

public class TestListaCantantesFamosos{
     public static void main(String[] args){
        System.out.println("***** EMPEZAMOS EL PROGRAMA *****");
         
        ListaCantantesFamosos  listaCantantesFamosos = new ListaCantantesFamosos();
        CantanteFamoso         cantante = null;
        EntradaTeclado         entrada = null;
        String                 respuesta = "y";
         
        System.out.println("-Añadir dos cantantes famosos a la lista-");
         
        for(int i = 0; i < 2; i++){
            cantante = new CantanteFamoso();
            System.out.println("Por favor introduce el nombre del cantante");
            entrada = new EntradaTeclado();
            cantante.setNombre(entrada.getEntrada());
            System.out.println("Por favor introduce el disco con más ventas del cantante " + cantante.getNombre());
            entrada = new EntradaTeclado();
            cantante.setDiscoConMasVentas(entrada.getEntrada());
            listaCantantesFamosos.addCantanteFamoso(cantante);
        }
         
        System.out.println("-Usando Iterator, mostrar el nombre de los cantantes ingresados y sus discos mas vendidos-");
        Iterator<CantanteFamoso> it = listaCantantesFamosos.getListaCantantesFamosos().iterator();
        while(it.hasNext()){
            CantanteFamoso tempCantante = it.next();
            System.out.println("Nombre del cantante: " + tempCantante.getNombre());
            System.out.println("Disco con mas ventas: " + tempCantante.getDiscoConMasVentas());
        }
         
        while(respuesta.equals("y")){
           
            System.out.println("-Pedir al usuario un nuevo cantante-");
            cantante = new CantanteFamoso();
            System.out.println("Por favor introduce el nombre de otro cantante famoso");
            entrada = new EntradaTeclado();
            cantante.setNombre(entrada.getEntrada());
            System.out.println("Por favor introduce el disco con mas ventas del cantante " + cantante.getNombre());
            entrada = new EntradaTeclado();
            cantante.setDiscoConMasVentas(entrada.getEntrada());
            listaCantantesFamosos.addCantanteFamoso(cantante);
         
            System.out.println("-Mostrar la lista actualizada usando Iterator-");
            it = listaCantantesFamosos.getListaCantantesFamosos().iterator();
            while(it.hasNext()){
                CantanteFamoso tempCantante = it.next();
                System.out.println("Nombre del cantante: " + tempCantante.getNombre());
                System.out.println("Disco con mas ventas: " + tempCantante.getDiscoConMasVentas());
            }
           
            System.out.println("Deseas introducir otro cantante? (Y/N)");
            entrada = new EntradaTeclado();
            respuesta = entrada.getEntrada().toLowerCase();
           
            while( !(respuesta.equals("y")) && !(respuesta.equals("n")) ){
                System.out.println("Respuesta no valida. Deseas introducir otro cantante? (Y/N)");
                entrada = new EntradaTeclado();
                respuesta = entrada.getEntrada().toLowerCase();
            }
        }
        System.out.println("***** FIN DEL PROGRAMA *****");
    }//Cierre del main
}//Cierre de la clase

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".