Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LuisM en 19 de Julio 2017, 18:21
-
Hola a todos !! paso a responder las preguntas y dejar el código del ejercicio CU00675B del taller de programación Java con entorno de aprendizaje BlueJ. Desde ya muchas gracias.
Saludos, Luis
EJERCICIO
Crea un programa Java donde declares un array de enteros tipo int miArray1 cuyo contenido inicial sea {2, -4, 3, -7}. Muestra su contenido por pantalla. Copia el contenido de este array a un ArrayList denominado lista1 y muestra su contenido por pantalla.
¿Qué tipo de datos almacena el array?
Son numeros enteros (tipo primitivo int)
¿Qué tipo de datos almacena el ArrayList?
son objetos del tipo Integer
import java.util.ArrayList;
//Test de copia de arrays aprenderaprogramar.com
public class Pasa_array_a_ArrayList {
public static void main (String [ ] Args) {
int [ ] miArray1 = {2, -4, 3, -7};
Integer miEntero = 0;
int tmpItem = 0;
System.out.println("muestro un array formado por numeros del tipo int");
for (int i=0; i<miArray1.length; i++) {
System.out.print ("miArray1[" + i +"]= " + miArray1[i]+"; ");
}
System.out.println("");
System.out.println("");
System.out.println("muestro un ArrayList formado por objetos del tipo Integer");
ArrayList<Integer> lista1 = new ArrayList<Integer>();
// paso los numeros de un array (del tipo int) a objetos del tipo Integer y lo almaceno en un ArrayList
for (int i=0; i<miArray1.length; i++) {
tmpItem = miArray1[i];
miEntero = miEntero.valueOf(tmpItem);
lista1.add(miEntero);
}
for (int i=0; i<lista1.size(); i++) {
System.out.print ("lista1(" + i +")= " + lista1.get(i)+"; ");
}
} //Cierre del main
} //Cierre de la clase
-
Buenas Luis.
El ejercicio cumple con lo que pide el enunciado.
Decirte que no habría hecho falta que usaras valueOf en este ejemplo, puesto que un Integer acepta valores de tipo int sin tener que realizar ninguna conversión.
Te dejo otra solución distinta para que la veas:
https://www.aprenderaprogramar.com/foros/index.php?topic=2261.msg10851#msg10851
Saludos. ;D