Anda di halaman 1dari 6

Arreglos

Introduccin: Un arreglo es una coleccin de objetos numerados del mismo tipo, en donde cada variable o celda en el arreglo tiene un ndice. Las celdas estn numeradas del 0 al N-1, donde N es el nmero de celdas del arreglo es decir su capacidad. Los ndices de un arreglo en Java deben estar dentro de los lmites, 0 N-1, de lo contrario se generar un error durante la ejecucin. Java implementa los arreglos como objetos que pueden ser tratados como cualquier otro objeto.

Para utilizar un arreglo en Java: 1. 2. 3. 4. Declare una variable para que contenga el arreglo Cree un nuevo arreglo de objeto y asgnelo a la variable de arreglo Almacene informacin en ese arreglo Realice operaciones de almacenamiento y recuperacin con los elementos del arreglo

Declaracin: Se agrega un par de corchetes vacos

[] al objeto o tipo de datos, o al nombre de variable. Ejemplos: String palabrasDificiles [ ]; Point hits [ ];

int donaciones [ ];

O bien:

String [ ] palabrasDificiles; Point [ ] hits; int [ ] donaciones;

Creacin de objetos de arreglos: Despus de haber declarado la variable arreglo, el siguiente paso es crear un arreglo de objetos y asignarlo a esa variable. Las formas de hacerlo son:

a travs del operador new inicializando directamente el contenido del arreglo

Ejemplos: String [ ] nombreJugadores = new String [10]; int [ ] temps = new int [99];

Todas las posiciones se inicializan automticamente (0 para arreglos numricos, false para booleanos, \0 para arreglos de carcter y null para objetos) Tambin se puede crear e inicializar un arreglo al mismo tiempo. Encierre los elementos del arreglo entre llaves, separndolos con comas:

String [ ] chiles = { jalapeno, de rbol, serrano, habanero};

Al crear elementos con valores iniciales, el arreglo es del mismo tamao que la cantidad de elementos que ha incluido en las llaves. Ejemplo: class ArregloNombres { String[] nombres = { "Dennis", "Grace", "Bjarne", "James"}; String[] apellidos = new String[nombres.length];

void imprime() { int i = 0; System.out.println(nombres[i] + " " + apellidos[i]); i++; System.out.println(nombres[i] + " " + apellidos[i]); i++; System.out.println(nombres[i] + " " + apellidos[i]); i++; System.out.println(nombres[i] + " " + apellidos[i]); } public static void main (String arguments[]) { ArregloNombres a = new ArregloNombres(); a.imprime(); System.out.println("-----"); a.apellidos[0] = "Ritchie"; a.apellidos[1] = "Hopper"; a.apellidos[2] = "Stroustrup"; a.apellidos[3] = "Gosling"; a.imprime(); } }

import Teclado; /** * Determina si un cuadrado es mgico */

class CuadradoMagicoSinArchivo { int [][] cuadrado; /** * Constructores de objetos de la clase */ //Este es el ejemplo de Melancholia I CuadradoMagicoSinArchivo (int n) { cuadrado = new int [n][n]; cuadrado[0][0] = 16; cuadrado[0][1] = 3; cuadrado[0][2] = 2; cuadrado[0][3] = 13; cuadrado[1][0] = 5; cuadrado[1][1] = 10; cuadrado[1][2] = 11; cuadrado[1][3] = 8; cuadrado[2][0] = 9; cuadrado[2][1] = 6; cuadrado[2][2] = 7; cuadrado[2][3] = 12; cuadrado[3][0] = 4; cuadrado[3][1] = 15; cuadrado[3][2] = 14; cuadrado[3][3] = 1; } CuadradoMagicoSinArchivo() { System.out.println ("Dame el tamao del cuadrado"); int tamao = Teclado.readInt (); cuadrado = new int [tamao][tamao]; for (int i = 0; i < cuadrado.length; i++) { for (int j = 0; j < cuadrado.length; j++) { System.out.print ( "cuadrado [" + i + "][" + j + "]= "); cuadrado[i][j] = Teclado.readInt (); } System.out.println (); } } void escribe () {

for (int i = 0; i < cuadrado.length; i++) { for (int j = 0; j < cuadrado.length; j++) System.out.print (cuadrado [i][j] + "\t"); System.out.println (); } } int sumaDiagonal () { int suma = 0; for (int i = 0; i < cuadrado.length; i++) suma = suma + cuadrado [i][i]; return suma; } int sumaAntiDiagonal () { int suma = 0; for (int i = 0; i < cuadrado.length; i++) suma = suma + cuadrado [i][cuadrado.length-i-1]; return suma; } int checaCol (int col) { int suma = 0; for (int i = 0; i < cuadrado.length; i++) suma = suma + cuadrado [col] [i]; return suma; } boolean checaColumnas (int sumaDebe) { int i = 0; while (i < cuadrado.length && checaCol (i) == sumaDebe) i++; if (i == cuadrado.length) return true; return false; } public static void main () { CuadradoMagicoSinArchivo c = new CuadradoMagicoSinArchivo (4); c.escribe (); int suma = (int) (Math.pow(c.cuadrado.length,3) + c.cuadrado.length)/2; if ( suma == c.sumaDiagonal () & suma == c.sumaAntiDiagonal () & c.checaColumnas (suma)) System.out.println ("Es un cuadrado mgico");

else System.out.println ("No es un cuadrado mgico"); System.out.println ("Adios"); } }

Anda mungkin juga menyukai