Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 02 de Junio 2015, 20:11
-
Clase para crear el teclado
package ejercicioscu00665b;
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
Scanner sc = new Scanner(System.in);
public EntradaDeTeclado() {
entradaTeclado = "";
}
public String buscarCantante() {
entradaTeclado = sc.nextLine();
return entradaTeclado;
}
public String getEntrada() {
return entradaTeclado;
}
}
Clase para agregar nuevo cantente
package ejercicioscu00665b;
import java.util.ArrayList;
public class ListaCantantesFamosos {
private ArrayList<String> cantantes;
private String nombreCantante;
public ListaCantantesFamosos(ArrayList<String> cantantes, String nombreCantante) {
this.cantantes = cantantes;
this.nombreCantante = nombreCantante;
}
public ListaCantantesFamosos() {
this.cantantes = new ArrayList<String>();
cantantes.add("Marcos Antonio");
cantantes.add("Enrique Iglesia");
cantantes.add("Juanes ");
}
public void addNombre(String valor_nombre) {
cantantes.add(valor_nombre);
}
public void listarCantantesFamosos() {
for (int i = 0; i < cantantes.size(); i++) {
System.out.println("Cantante Famoso " + (i + 1) + " : " + cantantes.get(i));
}
}
}
Clase principal main
package ejercicioscu00665b;
public class EjerciciosCu00665B {
public static void main(String[] args) {
ListaCantantesFamosos listaCantantes1 = new ListaCantantesFamosos();
EntradaDeTeclado entrada1 = new EntradaDeTeclado();
EntradaDeTeclado entrada2 = new EntradaDeTeclado();
System.out.println("Por favor introduzca nombre de un Cantante :");
entrada1.buscarCantante();
listaCantantes1.addNombre(entrada1.getEntrada());
System.out.println("Por favor introduzca nombre de un Cantante :");
entrada2.buscarCantante();
listaCantantes1.addNombre(entrada2.getEntrada());
listaCantantes1.listarCantantesFamosos();
}
}
-
Buenas Ramon, la clase EntradaDeTeclado, la veo bien, quizá yo el String entradaTeclado, lo cambiaria por otro nombre que no coincida tanto con la clase, nuevaEntrada o algo así. Pero OK. Y la función buscarCantante() si crea un cantante, seria mejor crearCantante o añadirCantante, porque buscar al leer el codigo induciria a error, sobre lo que realmente hace, que es recojer por teclado un nombre.
Clase para agregar nuevo cantante al ArrayList esta bien todo, el constructor que le pasa una lista, no lo usas para nada, pero esta bien, lo que no le veo logica (si lo pide el ejercicio no he dicho nada) que le pasas el array de nombres, y un nombre a parte,
public ListaCantantesFamosos(ArrayList<String> cantantes, String nombreCantante) {
this.cantantes = cantantes;
this.nombreCantante = nombreCantante;
}
En ese caso con pasarlo todo en el arrayList cantantes, ya estaria.
La clase principal bien, esta bien todo solo son detalles. Si quieres por comentarte algo de esta, creas dos nuevos objetos de entrada de datos, cuando quizás con uno solo bastaria, una vez has recogido el nombre del primer cantante puedes volver a llamar al mismo objeto entrada1 para recoger el segundo cantante. ;) sigue así.
-
Si ya entiendo a que te referí voy a corregir gracia por tu comentario y consejo así voy a mejorar día a día.
-
Ya hice los cambio que me sugeriste
Clase para crear el teclado
package ejercicioscu00665b;
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
Scanner sc = new Scanner(System.in);
public EntradaDeTeclado() {
entradaTeclado = "";
}
public String AgregarCantante() {
entradaTeclado = sc.nextLine();
return entradaTeclado;
}
public String getEntrada() {
return entradaTeclado;
}
}
Clase crear y listar cantante
package ejercicioscu00665b;
import java.util.ArrayList;
public class ListaCantantesFamosos {
private ArrayList<String> listaDeCantantes;
public ListaCantantesFamosos() {
this.listaDeCantantes = new ArrayList<String>();
listaDeCantantes.add("Marcos Antonio");
listaDeCantantes.add("Enrique Iglesia");
listaDeCantantes.add("Juanes ");
}
public void addNombre(String valor_nombre) {
listaDeCantantes.add(valor_nombre);
}
public void listarCantantesFamosos() {
for (int i = 0; i < listaDeCantantes.size(); i++) {
System.out.println("Cantante Famoso " + (i + 1) + " : " + listaDeCantantes.get(i));
}
}
}
Clase principal main
package ejercicioscu00665b;
public class EjerciciosCu00665B {
public static void main(String[] args) {
ListaCantantesFamosos listaCantantes1 = new ListaCantantesFamosos();
EntradaDeTeclado entrada1 = new EntradaDeTeclado();
System.out.println("Por favor introduzca nombre de un Cantante :");
entrada1.AgregarCantante();
listaCantantes1.addNombre(entrada1.getEntrada());
System.out.println("Por favor introduzca nombre de un Cantante :");
entrada1.AgregarCantante();
listaCantantes1.addNombre(entrada1.getEntrada());
listaCantantes1.listarCantantesFamosos();
}
}
-
Ok perfecto sigue así ;)