Hola, os dejo mi planteamiento a la solución del ejercicio CU00667B del tutorial pdf de programación básica Java de aprenderaprogramar.
Cualquier observación será bienvenida.
Clase GestionTeclado
import java.util.Scanner;
public class GestionTeclado{
private String texto;
private int numero;
public GestionTeclado(){
texto="";
numero=0;
}
public String pedirTexto(){
Scanner entradaEscaner = new Scanner (System.in);
texto = entradaEscaner.nextLine();
return texto;
}
public int pedirNumero(){
Scanner entradaEscaner = new Scanner (System.in);
numero = entradaEscaner.nextInt();
return numero;
}
public String gettexto(){
return texto;
}
public int getNumero(){
return numero;
}
public int getLongtexto(){
return texto.length();
}
}
Clase CantanteFamoso
public class CantanteFamoso {
private String nombre; //Nombre del cantante famoso
private String disco; //Título del disco más vendido
public CantanteFamoso(){
nombre="";
disco="";
}
public CantanteFamoso(String nombre, String disco){
this.nombre=nombre;
this.disco=disco;
}
public void setNombreCantante(String nombre){
this.nombre=nombre;
}
public void setDisco(String disco){
this.disco=disco;
}
public String getNombreCantante() {
return nombre;
}
public String getDisco(){
return disco;
}
}
Clase ListaCantantesFamosos
import java.util.ArrayList;
import java.util.Iterator;
public class ListaCantantesFamosos {
private ArrayList<CantanteFamoso> listaCantantesFamosos;
public ListaCantantesFamosos() {
listaCantantesFamosos = new ArrayList<CantanteFamoso>();
}
public void addCantanteFamoso(CantanteFamoso nuevoCantanteFamoso) {
listaCantantesFamosos.add(nuevoCantanteFamoso);
}
public void listarTodos() {
Iterator<CantanteFamoso> itCantante = listaCantantesFamosos.iterator();
String nombre;
String disco;
CantanteFamoso tempCantanteFamoso = new CantanteFamoso();
while (itCantante.hasNext()){
tempCantanteFamoso=itCantante.next();
nombre=tempCantanteFamoso.getNombreCantante();
disco=tempCantanteFamoso.getDisco();
System.out.println ("Cantante: "+nombre+" / Disco: "+disco);
}
}
}
Clase TestListaCantantesFamosos
public class TestListaCantantesFamosos {
public static void main (String [ ] args) {
ListaCantantesFamosos lista = new ListaCantantesFamosos();
// Inicializar lista con un par de objetos
lista.addCantanteFamoso(new CantanteFamoso("Madonna", "All I want is you"));
lista.addCantanteFamoso(new CantanteFamoso("Jorge Negrete", "Jalisco"));
GestionTeclado entrada = new GestionTeclado();
int menu = 0;
while (menu != 3){
System.out.println ("\n1 - Listar todos los cantantes");
System.out.println ("2 - Añadir un cantante a la lista");
System.out.println ("3 - Finalizar");
System.out.println ("=================================");
System.out.println ("Teclea opción");
menu=entrada.pedirNumero();
switch (menu){
case 1:
lista.listarTodos();
break;
case 2:
String nombre;
String disco;
System.out.println ("Teclea nombre del cantante");
nombre = entrada.pedirTexto();
System.out.println ("Teclea nombre del disco más vendido");
disco = entrada.pedirTexto();
lista.addCantanteFamoso(new CantanteFamoso(nombre, disco));
break;
case 3:
System.out.println ("Finalizado por el usuario");
break;
default:
System.out.println ("ERROR: opción elegida no válida");
}
}
}
}
¡Gracias!