Escolar Documentos
Profissional Documentos
Cultura Documentos
Declarar el array
Crear el array
Usar el array
COMPUTACION E
INFORMATICA III
No necesitamos recordar el nmero de elementos del array, su miembro dato length nos
proporciona la dimensin del array. Escribimos de forma equivalente
for(int i=0; i<numeros.length; i++){
numeros[i]=i*i+4;
}
Los arrays se pueden declarar, crear e inicializar en una misma lnea, del siguiente modo
int[] numeros={2, -4, 15, -25};
String[] nombres={"Juan", "Jos", "Miguel", "Antonio"};
Java verifica que el ndice no sea mayor o igual que la dimensin del array, lo que facilita
mucho el trabajo al programador.
Para crear un array de tres objetos de la clase Rectangulo se escribe
Declarar
Rectangulo[] rectangulos;
Crear el array
rectangulos=new Rectangulo[3];
Usar el array
COMPUTACION E
INFORMATICA III
Arrays multidimensionales
Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qu haber el
mismo nmero de elementos o columnas. Por ejemplo, podemos declarar e inicializar la
siguiente matriz bidimensional
double[][] matriz={{1,2,3,4},{5,6},{7,8,9,10,11,12},{13}};
Para mostrar los elementos de este array bidimensional escribimos el siguiente cdigo
for (int i=0; i < matriz.length; i++) {
for (int j=0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+"\t");
}
System.out.println("");
}
COMPUTACION E
INFORMATICA III
int numero=12;
int i=0, j=0;
buscado:
for(i=0; i<matriz.length; i++){
for(j=0; j<matriz[i].length; j++){
if(matriz[i][j]==numero){
break buscado;
}
}
}
System.out.println("buscado: matriz("+ i+", "+j+")="+matriz[i]
[j]);
COMPUTACION E
INFORMATICA III
Vamos a repasar algunos conceptos que ya deberamos conocer. Un array (arreglo) en Java
es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo
tipo. El tamao de los arrays se declara en un primer momento y no puede cambiar luego
durante la ejecucin del programa, como s puede hacerse en otros lenguajes. Veremos
ahora cmo declarar arrays estticos de una dimensin.
ARRAYS UNIDIMENSIONALES
La sintaxis para declarar e inicializar un array ser:
Tipo_de_variable[ ] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensin];
El tipo de variable puede ser cualquiera de los admitidos por Java y que ya hemos
explicado. Ejemplos de declaracin e inicializacin con valores por defecto de arrays
usando todos los tipos de variables Java, seran:
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
b)
c)
COMPUTACION E
INFORMATICA III
Para cadenas
String[ ] nombre = {"Mara", "Gerson"}; //Array de 2 elementos
Para caracterers
char[ ] sexo = {'m', 'f'}; //Array de 2 elementos
Para booleanos
boolean[ ] = {true,false};
//Array de 2 elementos
COMPUTACION E
INFORMATICA III
COMPUTACION E
INFORMATICA III
Una vez escrito el programa, cuando compilamos observamos que no hay ningn error de
sintaxis, es decir, no faltan puntos y comas, las llaves estn bien equilibradas, las palabras
reservadas del lenguaje son las correctas, etc. Por tanto, aparentemente el programa debera
ejecutarse y darnos un resultado. Sin embargo cuando cuando interpretamos el programa
observamos un error ArrayIndexOutBoundsException. Este mensaje de error significa
desbordamiento de array, es decir, que tratamos de acceder a una posicin del array que
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
no existe. En nuestro caso, hemos tratado de acceder a la posicin 4, que no est definida
(slo se ha definido hasta la posicin 3). En esto Java es muy estricto y no admite este tipo
de error lgico del programador. Siguiendo el anlisis del error que nos aparece en la
ventana leemos lo siguiente ArrayDeNombres.java:12, que nos est indicando que el
error est en el archivo que contiene el programa de nombre ArrayDeNombres.java, y
ms concretamente en la lnea 12.
Ahora ampliaremos conocimientos con respecto a la instruccin public static void
main(String arg[ ]). Esta instruccin es un estndar en Java, es decir, es la forma habitual
de encabezar un programa que se ejecuta en consola. Ahora trataremos de entender un poco
mejor el significado de este encabezado. Vamos a analizar el significado de (String arg[ ]).
En esta instruccin el mtodo main admite que se le pase un array de Strings cuando se
proceda a la ejecucin del programa si as lo deseamos. String arg[] significa un array de
Strings cuyo nombre es arg. Dicho de otra manera, al ejecutar el programa podemos
indicar parmetros de entrada de forma opcional. Si especificamos parmetros de
entrada, stos parmetros quedan asignados al array arg tomando el orden arg[0], arg[1].
Lo dicho podemos aclararlo mejor con el siguiente ejemplo:
El cdigo fuente del programa es el siguiente. Escrbelo en el editor de BlueJ:
Damos por entendido que ya hemos compilado el programa y no hay errores de sintaxis.
Nos centramos por tanto en la ejecucin del programa (interpretacin).
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
Estos dos parmetros son las cadenas "Hola" y "Java", las cuales son capturadas en las
variables del array de cadenas arg[0] y arg[1]. Estas variables se usan para imprimir los
parmetros en pantalla. Esto se puede ver en el cdigo fuente del programa. Por otro lado,
con el atributo arg.length podemos saber cuntos parmetros se le han pasado a nuestro
programa. Tambin decir que hacemos uso de un nuevo smbolo: +, que significa
concatenar la cadena Cantidad de parmetros con el valor del atributo arg.length (que
es 2 en este caso). El resultado es la cadena Cantidad de parmetros : 2 , que se imprime
en la ventana como parte de la salida de nuestro programa.
El introducir parmetros al mismo tiempo que se invoca la ejecucin de un programa es una
posibilidad que admite Java. En otros lenguajes no es posible pasar parmetros de entrada a
un programa.
COMPUTACION E
INFORMATICA III
EJERCICIO 1
Crea un array numrico con 5 elementos. Los nmeros de cada elemento deben ser valores
pedidos por teclado al usuario. Muestra por consola el ndice y el valor al que corresponde.
Debes utiliza bucles tanto para pedir los valores de los elementos del array como para
mostrar su contenido por pantalla.
Ejemplo: Introducimos los valores 2, 4, 5, 8 y 10 .Lo que se tiene que mostrar por consola
sera:
En el indice 0 esta el valor 2
En el indice 1 esta el valor 4
En el indice 2 esta el valor 5
En el indice 3 esta el valor 8
En el indice 4 esta el valor 10
Para comprobar si es correcta tu solucin puedes consultar en los foros
aprenderaprogramar.com
EJERCICIO 2
Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota de cada
uno de ellos como valor numrico. El resultado que debe mostrarse es el nombre de cada
alumno, su nota y su calificacion como texto (Sobresaliente, Notable, Bien o Suspenso).
Para ello crea un array numrico y otro de String (ambos unidimensionales). En el array
numrico se insertarn las calificaciones facilitadas por el usuario entre 0 y 10 (debemos
controlar que inserte una nota valida), pudiendo ser decimal. En el array de Strings se
insertarn los nombres de los alumnos.
Crea tambin un array de String donde insertaremos el resultado de la nota con palabras
admitindose estos valores: Sobresaliente, Notable, Bien o Suspenso.
El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:
Si la nota est entre 0 y 4,99 ser un Suspenso.
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles. Crea
los mtodos que creas convenientes. Puedes comprobar si tu cdigo es correcto consultando
en los foros aprenderaprogramar.com.
Hola a todos, hoy os dejo una serie de ejercicios de Java para practicar todo aquello que
hemos explicado en anteriores posts, haciendo hincapi en los arrays de Java.
Todos los ejercicios que proponemos estn resueltos en este mismo post, intenta hacerlo por
ti mismo y si te quedas atascado puedes mirar la solucin. Recuerda, que no tiene por que
estar igual tu solucin con la del post, el objetivo es que aprendas no que me copies la
solucin.
El nombre de la aplicacin es de tu eleccin. Crea un proyecto en Java por ejercicio.
Colocare en las soluciones algunos comentarios para que sean ms fcilmente entendible.
Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas
tambin puedes usar el depurador.
Aqu tienes todos los posts relacionados con Java:
Introduccion
Convencin de nombres
Comentarios
Variables primitivas
Constantes
Operadores
COMPUTACION E
INFORMATICA III
String
Mtodos String
Casting
Mtodos Math
Estructura condicional
Estructura repetitiva
Mensajes de traza
Caracteres de Escape
API Java
Mtodos Java
Arrays en Java
Bucles anidados
Referencias en Java
Arrays multidimensionales
COMPUTACION E
INFORMATICA III
Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este
post o envindonos un e-mail a administrador@discoduroderoer.es
1) Crea un array de 10 posiciones de nmeros con valores pedidos por teclado. Muestra por
consola el indice y el valor al que corresponde. Haz dos mtodos, uno para rellenar valores
y otro para mostrar.
Mostrar
2) Crea un array de nmeros donde le indicamos por teclado el tamao del array,
rellenaremos el array con nmeros aleatorios entre 0 y 9, al final muestra por pantalla el
valor de cada posicin y la suma de todos los valores. Haz un mtodo para rellenar el array
(que tenga como parmetros los nmeros entre los que tenga que generar), para mostrar el
contenido y la suma del array y un mtodo privado para generar nmero aleatorio (lo
puedes usar para otros ejercicios).
Mostrar
3) Crea un array de nmeros de un tamao pasado por teclado, el array contendr nmeros
aleatorios primos entre los nmeros deseados, por ltimo nos indica cual es el mayor de
todos.
Haz un mtodo para comprobar que el nmero aleatorio es primo, puedes hacer todos lo
mtodos que necesites.
Mostrar
4) Crea un array de nmeros de 100 posiciones, que contendr los nmeros del 1 al 100.
Obtn la suma de todos ellos y la media.
Mostrar
5) Crea un array de caracteres que contenga de la A a la Z (solo las maysculas).
Despus, ve pidiendo posiciones del array por teclado y si la posicion es correcta, se
aadira a una cadena que se mostrara al final, se dejar de insertar cuando se introduzca un
-1.
Por ejemplo, si escribo los siguientes numeros
0 //Aadira la A
5 //Aadira la F
25 //Aadira la Z
50 //Error, inserte otro numero
-1 //fin
COMPUTACION E
INFORMATICA III
Letra
T
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
Posicion
Letra
10
11
12
13
14
15
16
17
18
19
20
21
22
Mostrar
10) Crea un array de nmeros y otro de String de 10 posiciones donde insertaremos notas
entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal la nota
en el array de nmeros, en el de Strings se insertaran los nombres de los alumnos.
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
Muestra por pantalla, el alumno su nota y su resultado en palabras. Crea los mtodos que
creas conveniente.
Mostrar
10) Crea una aplicacin que pida un numero por teclado y despus comprobaremos si el
numero introducido es capicua, es decir, que se lee igual sin importar la direccin. Por
ejemplo, si introducimos 30303 es capicua, si introducimos 30430 no es capicua. Piensa
como puedes dar la vuelta al nmero. Una forma de pasar un nmero a un array es esta
Character.getNumericValue(cadena.charAt(posicion)).
Mostrar
12) Crea dos arrays multidimensionales de 23 y rellenalos como quieras (nmeros
aleatorios, por teclado o definido al crear el array).
Haz un mtodo que sume los arrays multidimensionales, es decir, la posicin 0, 0 del array1
con la posicin del array2 y as sucesivamente, este metodo no debe devolver nada,
haciendo que deba pasarse el array multidimensional de suma como parmetro. Muestra el
contenido de cada array multidimensional.
Mostrar
13) Dado un array de nmeros de 5 posiciones con los siguiente valores {1,2,3,4,5},
guardar los valores de este array en otro array distinto pero con los valores invertidos, es
decir, que el segundo array debera tener los valores {5,4,3,2,1}.
Mostrar
14) Queremos realizar una encuesta a 10 personas, en esta encuesta indicaremos el sexo
(1=masculino, 2=femenino), si trabaja (1=si trabaja, 2= no trabaja) y su sueldo (si tiene un
trabajo, sino sera un cero) estar entre 600 y 2000 (valor entero). Los valores pueden ser
generados aleatoriamente. Calcula y muestra lo siguiente:
LUZ ROJAS VILLALOBOS
COMPUTACION E
INFORMATICA III
Usa todos los mtodos que veas necesarios, piensa que es aquello que se repite o que puede
ser mejor tenerlo por separado.
Mostrar
Espero que os sea de ayuda. Si tenis dudas, preguntad. Estamos para ayudarte.
COMPUTACION E
INFORMATICA III
OPERADOR
DESCRIPCIN
==
Es igual
!=
Es distinto
&&
||
Operador or (o)
COMPUTACION E
INFORMATICA III
COMPUTACION E
INFORMATICA III
Una expresin como A+B == 8 && A-B == 1 siendo A = 3 y B = 5 supondr que se evala
primero A+B que vale 8, luego se evala A-B que vale -2. Luego se evala si se cumple
que la primera operacin es cierta y luego si la segunda tambin es cierta, resultando que
no, por lo que la expresin es falsa.
EJERCICIO
Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluacin de
estas expresiones dara como resultado verdadero o falso:
a) A > 3
b) A > C
c) A < C
d) B < C
== 3
e) B != C
f) A
g) A * B == 15
B<A
h) A * B == -30
i) C /
j) C / B == -10
B + C == 5
k) C / B == -4
l) A +
n) (A+B == 8) || (A-B == 6)
COMPUTACION E
INFORMATICA III