Buenos días, Envío el ejercicio CU00667B del manual de programación Java desde cero resuelto.
Espero las criticas para mejorar mi programación en Java. Muchas gracias.
Clase CantanteFamoso
public class CantanteFamoso
{
private String nombre;
private String discoConMasVentas;
public CantanteFamoso()
{
nombre = "";
discoConMasVentas = "";
}
public CantanteFamoso(String valor_nombre, String valor_disco) {
nombre = valor_nombre;
discoConMasVentas = valor_disco;
}
public void setNombre (String valor_nombre) {
nombre = valor_nombre; }
public void setDiscoConMasVentas (String valor_disco) {
discoConMasVentas = valor_disco;}
public String getNombre() {return nombre;}
public String getDisco() {return discoConMasVentas;}
}
Clase EntradadeTecladoClase - Es la clase base que ya tengo definida para el ingreso desde teclado
import java.util.Scanner;
public class EntradaDeTecladoClase
{
// instance variables - replace the example below with your own
private String entradaTeclado;
/**
* Constructor for objects of class EntradaDeTecladoClase
*/
public EntradaDeTecladoClase()
{
// initialise instance variables
entradaTeclado = "";
pedirEntrada();
}
public void pedirEntrada()
{
// put your code here
Scanner entradaScanner = new Scanner(System.in);
entradaTeclado = entradaScanner.nextLine();
}
public String getEntrada(){ return entradaTeclado;}
}
Clase ListaCantantesFamososyDisco
import java.util.ArrayList;
import java.util.Iterator;
public class ListaCantantesFamososyDisco
{
private String nombre;
private ArrayList<CantanteFamoso>listaDeCantantesFamosos;
private CantanteFamoso objetoCantante;
public ListaCantantesFamososyDisco(String valor_nombre) {
nombre = valor_nombre;
listaDeCantantesFamosos = new ArrayList<CantanteFamoso>();
}
public void addCantanteFamoso (String valor_nombre, String valor_disco) {
objetoCantante = new CantanteFamoso(valor_nombre, valor_disco);
listaDeCantantesFamosos.add(objetoCantante);
}
public void muestraCantantesyDiscos () {
Iterator <CantanteFamoso> it = listaDeCantantesFamosos.iterator();
CantanteFamoso tmpCantante = null;
if (it.hasNext()== true) {
System.out.println("La lista actualizada contiene los siguientes datos:");
while (it.hasNext()){
tmpCantante = it.next();
System.out.println("Cantante: " + tmpCantante.getNombre()+" Disco con más ventas: "+tmpCantante.getDisco());
}
System.out.println("");
}
}
}
Clase TestListaCantantesFamososyDiscos
/**
* Write a description of class TestListaCantantesFamososyDiscos here.
* Autor: Bettu
* 27/09/2/16
*/
public class TestListaCantantesFamososyDiscos
{
public static void main (String[] args)
{
String compara;
System.out.println("Lista de Cantantes Famosos y sus Discos");
ListaCantantesFamososyDisco lista1 = new ListaCantantesFamososyDisco("Nombre Cantante Famosos");
lista1.addCantanteFamoso( "Madonna","All I want is you");
lista1.addCantanteFamoso("Jorge Negrete","Jalisco");
while (true) {
System.out.println("Por favor introduzca los datos de otro cantante:");
System.out.print("Nombre: ");
EntradaDeTecladoClase nombre1 = new EntradaDeTecladoClase();
System.out.print("Disco con más ventas: ");
EntradaDeTecladoClase disco1 = new EntradaDeTecladoClase();
lista1.addCantanteFamoso( nombre1.getEntrada(),disco1.getEntrada());
lista1.muestraCantantesyDiscos ();
System.out.println("Desea introducir los datos de otro cantante (s/n):");
EntradaDeTecladoClase sigue = new EntradaDeTecladoClase();
compara = sigue.getEntrada();
if (compara.substring(0,1).equals("s") || compara.substring(0,1).equals("S") ){
// continua pidiendo
}
else { break; }
}
System.out.println("Fin Lista Cantantes Famosos");
}
}