Autor Tema: Java entrada de datos por consola Scanner(System.in) nextLine() CU00666B  (Leído 4152 veces)

Ryche

  • Sin experiencia
  • *
  • Mensajes: 11
    • Ver Perfil
Buenas, aqui esta mi solucion al ejercicio sixsixsix,the number of the beast, del curso de programación Java desde cero  ;D,

Esta es la clase ListaDeCantantesFamosos:

Código: [Seleccionar]
import java.util.ArrayList;
public class ListaCantantesFamosos{
    ArrayList<String> listadenombres;
    public ListaCantantesFamosos(){
        String nombreLista="Lista de Cantantes Famosos";
        listadenombres=new ArrayList<String>();
        listadenombres.add("Bruce Dickinson");
        listadenombres.add("James Labrie");
        listadenombres.add("Mi madre fregando el suelo");
    }
   }

Y esta es la clase Test:
Código: [Seleccionar]
import java.util.Scanner;
public class TestListaCantantesFamosos{
    public static void main(String[]args){
        ListaCantantesFamosos lista1=new ListaCantantesFamosos();
        while(true){
            System.out.println("Este es el contenido actual de la lista:");
            int x=0;
            for (String nombre:lista1.listadenombres){
                System.out.println((x+1)+"- "+nombre);
                x++;}
            System.out.println("¿Deseas introducir otro cantante (S/N)?");
            Scanner escaneo=new Scanner(System.in);
            String continuar=escaneo.nextLine();
            if (continuar.equals("s")||continuar.equals("S")){
                System.out.println("Introduce nuevo cantante:");
                Scanner escaneo2=new Scanner(System.in);
                String nuevo=escaneo.nextLine();
                lista1.listadenombres.add(nuevo);}
            else{break;}
        }
    }
}

¿Está bien solucionado?

Un saludo
« Última modificación: 03 de Abril 2016, 11:09 por Alex Rodríguez »

lpeiro61

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Re:Ejercicio CU00666B.For extendido y bucle While
« Respuesta #1 en: 01 de Abril 2016, 11:17 »
Hola Ryche, otra vez por aquí.
Yo lo tengo muy parecido al tuyo.

Para el if (continuar.equals("s")||continuar.equals("S"))
yo he puesto if(continuar.equalsIngoreCase("s"))
y así con una sóla condición vale para mayúscula o minúscula.

Saludos.

Ryche

  • Sin experiencia
  • *
  • Mensajes: 11
    • Ver Perfil
Re:Ejercicio CU00666B.For extendido y bucle While
« Respuesta #2 en: 01 de Abril 2016, 12:24 »
Si, más sencillo, voy a cambiarlo.

Gracias!!

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio CU00666B.For extendido y bucle While
« Respuesta #3 en: 03 de Abril 2016, 11:05 »
Hola Ryche, te recomiendo leer los comentarios que he dejado en el hilo https://www.aprenderaprogramar.com/foros/index.php?topic=4299.0

Saludos

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio CU00666B.For extendido y bucle While
« Respuesta #4 en: 03 de Abril 2016, 11:08 »
Y también este hilo donde se explica que no debe usarse while(true): https://www.aprenderaprogramar.com/foros/index.php?topic=3074.0

Ryche

  • Sin experiencia
  • *
  • Mensajes: 11
    • Ver Perfil
Si, me estaba acostumbrando un poco mal con el while(true)

He rehecho el ejercicio y creo que ahora esta bien.

Clase ListaCantantesFamosos:
Código: [Seleccionar]
import java.util.Scanner;
import java.util.ArrayList;
public class ListaCantantesFamosos{
    ArrayList<String> listadenombres;
    private String nombreLista="Lista de Cantantes Famosos";
    public ListaCantantesFamosos(){
        listadenombres=new ArrayList<String>();
        listadenombres.add("Bruce Dickinson");
        listadenombres.add("James Labrie");
        listadenombres.add("Mi madre fregando el suelo");
    }
    public void ListarListaCantantes(){
        System.out.println(nombreLista);
        int x=0;
        for (String nombre:listadenombres){
            System.out.println(x+"-"+nombre);
            x++;}
        }
    public void AñadirCantante(){
        System.out.println("Introduce nuevo cantante:");
        Scanner escaneo=new Scanner(System.in);
        String nuevo=escaneo.nextLine();
            listadenombres.add(nuevo);}
       }

clase Test:
Código: [Seleccionar]
mport java.util.Scanner;
public class TestListaCantantesFamosos{
    public static void main(String[]args){
        ListaCantantesFamosos lista1=new ListaCantantesFamosos();
        lista1.ListarListaCantantes();
        System.out.println("¿Deseas introducir otro cantante (S/N)?");
        Scanner escaneo=new Scanner(System.in);
        String continuar=escaneo.nextLine();
        while (continuar.equalsIgnoreCase("s")){
            lista1.AñadirCantante();
            lista1.ListarListaCantantes();
            System.out.println("¿Deseas introducir otro cantante (S/N)?");
            continuar=escaneo.nextLine();}
        System.out.println("Hasta otra");
    }
}

Un saludo


Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, ahora mucho mejor

Saludos

 

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