Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Ryche en 01 de Abril 2016, 00:51
-
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:
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:
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
-
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.
-
Si, más sencillo, voy a cambiarlo.
Gracias!!
-
Hola Ryche, te recomiendo leer los comentarios que he dejado en el hilo https://www.aprenderaprogramar.com/foros/index.php?topic=4299.0
Saludos
-
Y también este hilo donde se explica que no debe usarse while(true): https://www.aprenderaprogramar.com/foros/index.php?topic=3074.0
-
Si, me estaba acostumbrando un poco mal con el while(true)
He rehecho el ejercicio y creo que ahora esta bien.
Clase ListaCantantesFamosos:
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:
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
-
Hola, ahora mucho mejor
Saludos