Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jotinga en 03 de Mayo 2016, 10:24
-
Estimados, llevo poco tiempo realizando el curso de programación java desde cero y me ha parecido genial muy didáctico y practico, desde ya agradecer a los creadores y a la comunidad en general.
Ahora al código para el ejercicio CU00666B (mi solución al ejercicio - CU00666B).
Desde ya comentar que lo ejecuté en Eclipse y me funcionó de maravilla, espero las respectivas correcciones.
Saludos
//Clase con métodos
import java.util.ArrayList;
public class ListaCantantesFamosos {
private String nombreCantante;
private ArrayList<String>listacantantes;
public ListaCantantesFamosos(String cantante){
nombreCantante=cantante;
listacantantes=new ArrayList<String>();
listacantantes.add("Nach Scratch");
listacantantes.add("Shotta");
listacantantes.add("Chojin");
}
public void addCantante(String valCantante){
listacantantes.add(valCantante);
}
public String getCantante(int posicion){
if(posicion>=0 && posicion<listacantantes.size()){
return listacantantes.get(posicion);
}else
return "No existe nombre para posicion seleccionada";
}
public int getTamaño(){
return listacantantes.size();
}
public void removeCantante(int posicion){
if(posicion>=0 && posicion<listacantantes.size()){
listacantantes.remove(posicion);
}else{}
}
//método que usa el for each o for extendido
public void listarCantantes(){
int i=0;
System.out.println ("La lista ha quedado formada por " + getTamaño() + " Cantantes\n");
System.out.println("Los Cantantes de Jorge Son :");
for(String nombre:listacantantes){
System.out.println((i+1)+".-"+nombre);
i++;
}
}
}
Clase con el main
//método main
import java.util.Scanner;
public class TestListaCantantes {
public static void main(String[] args) {
System.out.println("Ingrese un cantante");
EntradaDeTeclado entrada1=new EntradaDeTeclado();
Scanner s=new Scanner(System.in);
ListaCantantesFamosos lista1=new ListaCantantesFamosos("Cantantes Famosos");
lista1.addCantante(entrada1.getEntrada());
lista1.listarCantantes();//llamar al metodo que usa for each
System.out.println("\n");
int alternativa=0;
do{
System.out.println("\n");
System.out.println("¿Desea agregar otro cantante ?\n Escriba\n1 para SI \n2 para salir ");
alternativa=s.nextInt();
if(alternativa==2){
System.out.println("Hasta luego");
break;
}
System.out.println("Ingrese un cantante nuevamente");
EntradaDeTeclado entrada2=new EntradaDeTeclado();
lista1.addCantante(entrada2.getEntrada());
lista1.listarCantantes();
}
while(alternativa==1);
}
}
-
Hola jotinga para poder valorar un ejercicio siempre pedimos que se incluya todo el código necesario (incluso aunque sea código que figure en el curso o en otros ejercicios). De ese modo podemos compilarlo y reproducir exactamente lo que ocurre en tu computador.
En este caso me indica que falta la clase EntradaDeTeclado al menos (no sé si alguna más)
Saludos
-
Mis disculpas acá la clase que faltaba
//EntradaDeTeclado
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
public EntradaDeTeclado(){
entradaTeclado="";
pedirEntrada();
}
public void pedirEntrada(){
Scanner entradaEscaner=new Scanner(System.in);
entradaTeclado=entradaEscaner.nextLine();
}
public String getEntrada(){
return entradaTeclado;
}
public String getPrimeraPalabra(){
for(int i=0;i<=entradaTeclado.length();i++){
if(entradaTeclado.subSequence(i, i+1).equals(" ")){
return entradaTeclado.substring(0, i+1);
}
}
return entradaTeclado;
}
public int getLongitud(){
return entradaTeclado.length();
}
}
-
Hola de nuevo. El ejercicio funciona pero te hago algunas recomendaciones para corregir
No usar eñes en nombres de métodos o variables. Por ejemplo en lugar de getTamaño() usar getTamanno
Sobre el uso de un contador en un foreach Java leer este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=2784.0
Sobre el uso de break para salir de un bucle leer este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=4096.0
Saludos
-
Muchas gracias por las correcciones, las tomare en consideración para un próximo ejercicio.
Saludos.