Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: CarlosAndres21 en 01 de Diciembre 2015, 21:20

Título: Solucion al ejercicio Java CU00665B sobre Clase ArrayList en Java.
Publicado por: CarlosAndres21 en 01 de Diciembre 2015, 21:20
 
EJERCICIO

Crea una clase denominada ListaCantantesFamosos que al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos, pida dos cantantes famosos más al usuario, los añada a la lista y muestre el contenido de la lista por pantalla. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.
 

Solucion:

Clase ListaCantantesFamosos

Código: [Seleccionar]
import java.util.*;


public class ListaCantantesFamosos{
private String nombreDeLaLista;
private ArrayList<String> listadenombres;

public ListaCantantesFamosos (String nombre){
nombreDeLaLista=nombre;
listadenombres=new ArrayList<String>();
}
public void addCantante1(String Cantantes){
listadenombres.add("Dany Worsnop");
listadenombres.add("Vic Fuentes");
listadenombres.add("Oliver Sykes");}

public void addNombre(String valor_nombre){listadenombres.add(valor_nombre);}

public String getNombre(int posicion){if(posicion>=0 && posicion<listadenombres.size()){return listadenombres.get(posicion);}
else{return "No existe nombre para la posicion solicitada";}
}
}             




Clase TestListaCantantesFamosos


Código: [Seleccionar]
import java.util.*;


public class TestListaCantantesFamosos{
public static void main(String []args){
System.out.println("Empezamos el programa");

System.out.println("Introduzca el nombre de dos cantantes famosos");

EntradaDeTeclado entrada4=new EntradaDeTeclado();
EntradaDeTeclado entrada5=new EntradaDeTeclado();

System.out.println("Gracias");

ListaCantantesFamosos lista1=new ListaCantantesFamosos("Cantantes");

lista1.addCantante1("");


lista1.addNombre(entrada4.getEntrada());
lista1.addNombre(entrada5.getEntrada());

System.out.println("ARTISTAS FAMOSOS"+"\n"+"1."+lista1.getNombre(0)+"\n"+"2."+lista1.getNombre(1)+"\n"+"3."+lista1.getNombre(2)+"\n"+"4."+lista1.getNombre(3)+"\n"+"5."+lista1.getNombre(4));

}
}


Clase EntradaDeTeclado



Código: [Seleccionar]
import java.util.Scanner;
//Importacion del codigo de la clase Scanner desde la bibliotaca Java

//Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado{


private String entradaTeclado;//Variable de instancia(campo)de la clase


public EntradaDeTeclado(){//Constructor


    entradaTeclado="";


pedirEntrada();//Esto es una llamada a un metodo interno.Al crear un objeto ejecutamos ep metodo
}//Cierre del constructor


public void pedirEntrada(){//Metodo de la clase

      Scanner entradaEscaner=new Scanner(System.in);
 
  entradaTeclado=entradaEscaner.nextLine();}//Cierre del metodo pedirEntrada
 
 
 
 
    public  String getEntrada(){
return entradaTeclado;}//Cierre del metodo getEntrada



public String getPrimerPalabra(){
/*IMPORTANTE: EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO== POR ESO ESTO NO FUNCIONARA

   if(entradaTeclado.substring(0,1)=="j"{
   system.out.println("Hemos detectado una j");}
   else{system.out.println("Mira esto:"entradaTeclado.substring(0,1));}*/

for(int i=0;
     i<entradaTeclado.length()-i;
i++){
if (entradaTeclado.substring(i,i+1).equals("   ") ){
//IMPORTANTISIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0,i+1);
  }
  }return entradaTeclado;//Caso de que no se detecte un ningun espacio devolvemos lo que haya
  }//Cierre del metodo getPrimerPalabra
 
 
 
  public int getLongitud(){
  //Metodo de la clase
  return entradaTeclado.length();
  }//Cierre del metodo getLongitud
                      }//Cierre de la clase}

 
Título: Re:Solucion al ejercicio Java CU00665B sobre Clase ArrayList en Java.
Publicado por: Mario R. Rancel en 03 de Diciembre 2015, 08:32
Buenos días Carlos Andrés

En tu clase EntradaDeTeclado tienes un método getPrimerPalabra() pero si intento usarlo no funciona.

Por ejemplo:

Código: [Seleccionar]
            EntradaDeTeclado entrada4=new EntradaDeTeclado();
            EntradaDeTeclado entrada5=new EntradaDeTeclado();
            System.out.println ("La primera palabra de la entrada es " + entrada5.getPrimerPalabra());

Empezamos el programa
Introduzca el nombre de dos cantantes famosos
juan
andres carlos
La primera palabra de la entrada es andres carlos
Gracias
ARTISTAS FAMOSOS
1.Dany Worsnop
2.Vic Fuentes
3.Oliver Sykes
4.juan
5.andres carlos


No debes tener código que no funcione. En estos ejercicios debes de revisar todo el código que utilices y comprobar que funcione. Además, dado que se trata de ejercicios pequeños, no es necesario incluir métodos ni clases complementarias que no se utilicen, sino simplemente el código necesario para el ejercicio.

Deberías revisar esto en este ejercicio y tenerlo en cuenta para futuros ejercicios

Saludos