Autor Tema: Ejercicio CU00665B pedir datos repetidas veces a un usuario usando un bucle java  (Leído 4122 veces)

ThheMau

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Buenas a todos, les traigo la entra de este ejercicio y una duda que tengo con respecto a algo que queria hacer, pero lo comentare al final

Clase main
Código: [Seleccionar]
import java.util.Scanner;
public class TestLista {
    public static void main (String[] args){
        System.out.println("Comenzemos el Programa");
        System.out.println("Escribe el primer cantante famoso");
            String cantante3="";
            Scanner entradaEscaner = new Scanner(System.in);
            cantante3=entradaEscaner.nextLine(); 
        System.out.println("Escribe el segundo cantante famoso");
            String cantante4="";
            Scanner entradaEscaner2 = new Scanner(System.in);
            cantante4= entradaEscaner2.nextLine();
        ListaCantantesFamosos lista1= new ListaCantantesFamosos("Nombres Introducidos por el Usuario");
        lista1.addNombre(cantante3);
        lista1.addNombre(cantante4);
        for (int i=0;i<lista1.getTamano();i++){
            System.out.println("El cantante " + (i+1) + " es: "+ lista1.getNombre(i));
        }
  }
}

Clase lista
Código: [Seleccionar]
import java.util.ArrayList;
public class ListaCantantesFamosos{
    private ArrayList<String>listaDeNombres;
    private String nombreDeLaLista;
    public ListaCantantesFamosos(String nombre){
        nombreDeLaLista=nombre;
        listaDeNombres= new ArrayList<String>();
        listaDeNombres.add("Eminem");
        listaDeNombres.add("50 cent");
        listaDeNombres.add("Dr Dre");
    }
    public void addNombre(String valor_nombre){
        listaDeNombres.add(valor_nombre);
    }
    public String getNombre(int posicion){
        if(posicion>=0&&posicion<listaDeNombres.size()){
            return listaDeNombres.get(posicion);
        }
        else {
            return "No existe un nombre para la posicion solicitada";
        }
    }
    public int getTamano(){
        return listaDeNombres.size();
    }
}

       

Bueno, ahora mi duda.

Estaba intentando hacer que no hubiera limite de entradas de cantantes, o sea poder ingresar tantos como el usuario quisiera, hice el siguiente codigo pero no funciona y me gustaria que me pudieran decir que estoy haciendo mal para poder corregirlo y aprender. Muchas gracias  ;D

Código: [Seleccionar]
import java.util.Scanner;
public class TestLista {
    public static void main (String[] args){
        System.out.println("Comenzemos el Programa");
        System.out.println("Escribe cantante que desees agregar");
        ListaCantantesFamosos lista1= new ListaCantantesFamosos("Nombres Introducidos por el Usuario");
        boolean terminar=false;
        while(terminar==false){
            String cantante="";
            Scanner entradaEscaner = new Scanner(System.in);
            cantante=entradaEscaner.nextLine();
            lista1.addNombre(cantante);
            System.out.println("Desea continuar agregando nombres(true o false)?");
            Scanner entradaEscaner2 = new Scanner(System.in);
            String continuar=entradaEscaner2.nextLine();
            if(continuar=="true"){
                terminar=false;
            }
            else{
                terminar=true;
            }
        }
        for (int i=0;i<lista1.getTamano();i++){
            System.out.println("El cantante " + (i+1) + " es: "+ lista1.getNombre(i));       

        }
    }
}
« Última modificación: 20 de Septiembre 2014, 12:31 por Alex Rodríguez »

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Re:Ejercicio CU00665B
« Respuesta #1 en: 20 de Septiembre 2014, 03:51 »
Oye Amigo aquí te dejo el codigo como tu lo quieres te lo acomode . Vea el código y observa con detalle las cosas que le cambie de esta manera el usuario  podrá ingresar los datos que quieras (Existen otras Formas de Hacerlo también).


Lo que hice fue declarar
Citar
  boolean terminar=true;
        while(terminar==true)

De esta Manera para que entre directo al bucle y comenzara a pedir los datos de las personas

donde Pide  La Condición de que si quiere ingresar otra persona :
  utilice (squals) Este sirve para comparar dos Objetos  para mas información de este te dejo el link:
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=628:el-metodo-equals-en-java-diferencia-entre-igualdad-e-identidad-comparar-objetos-ejemplos-cu00662b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188






Código: [Seleccionar]
import java.util.Scanner;
public class TestLista {
    public static void main (String[] args){
        ListaCantantesFamosos lista1= new ListaCantantesFamosos("Nombres Introducidos por el Usuario");
        System.out.println("Comenzemos el Programa");
         
        boolean terminar=true;
        while(terminar==true){
            System.out.println("Escribe cantante que desees agregar");           
            String cantante="";
            Scanner entradaEscaner = new Scanner(System.in);
            cantante=entradaEscaner.nextLine();
            lista1.addNombre(cantante);
            System.out.println("Desea continuar agregando nombres(Si : s o No: n)?");
            Scanner entradaEscaner2 = new Scanner(System.in);
            String continuar=entradaEscaner2.nextLine();
            if(continuar.equals("s")){
                terminar=true;
            }
            else{
                break;
            }
        }
        for (int i=0;i<lista1.getTamano();i++){
            System.out.println("El cantante " + (i+1) + " es: "+ lista1.getNombre(i));       

        }
    }
}


Espero Y Te Sirva

ThheMau

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Re:Ejercicio CU00665B
« Respuesta #2 en: 20 de Septiembre 2014, 04:54 »
Muchas gracias por tu respuesta, voy a repasar el uso de equal  ;D

 

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