Autor Tema: ArrayList api java add size concepto clase generica parametrizada Ej. CU00665B  (Leído 2734 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Solución propuesta para el ejercicio CU00665B del tutorial básico de programación Java de aprenderaprogramar.

Código: [Seleccionar]
package com.aprenderaprogramar;
import java.util.ArrayList;

public class ListaCantantesFamosos {
private String nombreUsuario;
private ArrayList<String> listaCantantes;

public ListaCantantesFamosos(String pUsuario) {
setNombreUsuario(pUsuario);
listaCantantes = new ArrayList<String>();
}

public String getNombreUsuario() {
return nombreUsuario;
}

public void setNombreUsuario(String nombreUsuario) {
this.nombreUsuario = nombreUsuario;
}

public void addCantante(String pCantante) {
listaCantantes.add(pCantante);
}

public String getCantante(int pos) {
return(listaCantantes.get(pos));
}

public int getsize() {
return listaCantantes.size();
}
}



Código: [Seleccionar]
package com.aprenderaprogramar;

public class TestListaCantantesFamosos {
public static void main(String[] args) {

System.out.println("Por favor introduzca cantante 1:");
CadenaEntrada cantante1 = new CadenaEntrada();

System.out.println("Por favor introduzca cantante 2:");
CadenaEntrada cantante2 = new CadenaEntrada();

System.out.println("Por favor introduzca el usuario que crea la lista:");
CadenaEntrada usuario = new CadenaEntrada();

// entrada
ListaCantantesFamosos miLista = new ListaCantantesFamosos(usuario.getEntrada());
miLista.addCantante(cantante1.getEntrada());
miLista.addCantante(cantante2.getEntrada());

// Salida
System.out.println("La lista de cantantes creada por: " + miLista.getNombreUsuario() + " Tiene "
+ miLista.getsize() + " elementos");
System.out.println("Elemento 1 " + miLista.getCantante(0));
System.out.println("Elemento 2 " + miLista.getCantante(1));
}

}



Código: [Seleccionar]
package com.aprenderaprogramar;

import java.util.Scanner;

public class CadenaEntrada {
private String entrada;

public static void main(String[] args) {
System.out.println("Ingrese primera palabra");
CadenaEntrada entrada1 = new CadenaEntrada();

System.out.println("Ingrese segunda palabra");
CadenaEntrada entrada2 = new CadenaEntrada();

Comparacion(entrada1.getEntrada(), entrada2.getEntrada());
}

public CadenaEntrada() {
pedirEntrada();
}

public void pedirEntrada() {

Scanner entradaTeclado1 = new Scanner(System.in);
setEntrada(entradaTeclado1.nextLine());
}

public static void Comparacion(String pEntrada1, String pEntrada2) {
int maxI, minI, numEntrada, i = 0;

if (pEntrada1.length() > pEntrada2.length()) {
maxI = pEntrada1.length();
minI = pEntrada2.length();
numEntrada = 2;
} else {
maxI = pEntrada2.length();
minI = pEntrada1.length();
numEntrada = 1;
}

while (i < maxI) {
if (i < minI && pEntrada1.substring(i, i + 1).equals(pEntrada2.substring(i, i + 1))) {
System.out.println("¿Letra " + (i + 1) + " igual en las dos palabras? True.");
} else if (i < minI) {
System.out.println("¿Letra " + (i + 1) + " igual en las dos palabras? False.");
} else {
System.out.println("¿Letra " + (i + 1) + " igual en las dos palabras? La palabra " + numEntrada
+ " no tiene letra " + (i + 1));
}
i += 1;
}
}

public String getEntrada() {
return entrada;
}

public void setEntrada(String entrada) {
this.entrada = entrada;
}

}

« Última modificación: 09 de Octubre 2020, 13:01 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, en relación a esta propuesta de solución las observaciones serían:

a) No cumple lo que indica el enunciado del ejercicio relativo a que la clase ListaCantantesFamosos al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos.

b) Contiene una clase CadenaEntrada que parece tomada de otro ejercicio, con lo cual tiene una parte de código que no es útil en este ejercicio.

Puede verse una solución correcta para este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=1549.0

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".