Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: paramonso en 21 de Septiembre 2018, 08:58
-
Hola. Dejo el Ejercicio CU00665B del tutorial básico de programación Java.
Clase ArrayList del api Java. Métodos add, size, etc. Concepto de clase genérica o parametrizada.
Clase ListaCantantesFamosos
//Ejemplo de uso ArrayList aprenderaprogramar.com
import java.util.ArrayList; //Los import deben ir siempre al principio antes de declarar la clase
//Esta clase representa una lista de nombres manejada con la clase ArrayList de Java
public class ListaCantantesFamosos {
private ArrayList<String> listaCantantes; //Declaramos un ArrayList que contiene objetos String
public ListaCantantesFamosos (String nombre) { //Constructor: crea una lista de nombres vacía
listaCantantes = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
listaCantantes.add("Antonio Machin");
listaCantantes.add("Jorge Negrete");
listaCantantes.add("Antoñita Pañuela");
} //Cierre del constructor
public void addNombre (String valor_nombre) { listaCantantes.add (valor_nombre); } //Cierre del método
public String getNombre (int posicion) { //Método
if (posicion >= 0 && posicion < listaCantantes.size() ) {
return listaCantantes.get(posicion); }
else { return "No existe nombre para la posición solicitada";}
} //Cierre del método
public int getTamaño () { return listaCantantes.size(); } //Cierre del método
public void removeNombre (int posicion) { //Método
if (posicion >= 0 && posicion < listaCantantes.size() ) {
listaCantantes.remove(posicion); }
else { } //else vacío. No existe nombre para la posición solicitada, no se ejecuta ninguna instrucción
} //Cierre del método removeNombre
} //Cierre de la clase
Clase EntradaTeclado
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca 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 método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine (); } //Cierre del método pedirEntrada
public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada
} //Cierre de la clase
Clase TestListaCantantesFamosos
// Aquí el test con el método main ejemplo aprenderaprogramar.com
public class TestListaCantantesFamosos {
public static void main (String [ ] args) {
System.out.println ("Empezamos el programa");
System.out.println ("Por favor introduzca nombre 1:"); EntradaDeTeclado entrada1 = new EntradaDeTeclado();
System.out.println ("Por favor introduzca nombre 2:"); EntradaDeTeclado entrada2 = new EntradaDeTeclado();
System.out.println ("Gracias");
ListaCantantesFamosos lista1 = new ListaCantantesFamosos("Nombres introducidos por usuario");
lista1.addNombre (entrada1.getEntrada() );
lista1.addNombre (entrada2.getEntrada() );
System.out.println ("La lista ha quedado formada por " + lista1.getTamaño() + " elementos");
for(int i =0 ; i<=lista1.getTamaño()-1;i++){
System.out.println ("Elemento "+(i+1)+": " + lista1.getNombre(i) );
}
} //Cierre del main
} //Cierre de la clase
Gracias. ;)
-
Buenas, todo correcto. Muchos programadores prefieren no usar eñes en nombre de variables o métodos porque a la larga puede traer problemas, pero en teoría con Java no debería haberlos.
Salu2