Autor Tema: Ejercicio sobre el For Each Java en Eclipse cómo manejar los bucles CU00666B  (Leído 2802 veces)

jotinga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
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

Código: [Seleccionar]
//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
Código: [Seleccionar]
//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);
}

}
   



« Última modificación: 09 de Mayo 2016, 09:24 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio sobre el For Each Java - CU00666B
« Respuesta #1 en: 05 de Mayo 2016, 19:32 »
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

jotinga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:Ejercicio sobre el For Each Java - CU00666B
« Respuesta #2 en: 05 de Mayo 2016, 19:39 »
Mis disculpas acá la clase que faltaba

Código: [Seleccionar]
//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();
}
}

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio sobre el For Each Java - CU00666B
« Respuesta #3 en: 05 de Mayo 2016, 19:44 »
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

jotinga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:Ejercicio sobre el For Each Java - CU00666B
« Respuesta #4 en: 05 de Mayo 2016, 19:51 »
Muchas gracias por las correcciones, las tomare en consideración para un próximo ejercicio.

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".