Los índices son variables simples que nos ayudan a identificar las posiciones en un arreglo. Estas variables siempre guardan números, comienzan en 0 e incrementan de abajo a arriba y de izquierda a derecha a medida que guardamos más elementos en nuestros arrays.
Para guardar un valor en alguna posición de nuestro array solo debemos usar el índice de la siguiente forma:
Viendo esta aporte más el min 11:18 ya lo entiendo :)
¡Hola!
Si aún no entiendes cómo se puede visualizar un array, aquí te muestro la forma que a mí más me gusta (A mí me sirve, espero que a ti también)
Es como ver un arbolito, cada arbolito tiene una rama y cada rama tiene una rama, en donde cada puntito representa un espacio dentro del array, como los de color azul:
array[0]
array[1][0]
array[0][0][1]
Espero que al menos a una persona le funcione mi manera de interpretar esto, con eso estaré satisfecho. ¡A seguir aprendiendo!
Muchas gracias por el aporte, amigo!
public class Arrays {
public static void main(String[] args) {
String[] androidVersions = new String[17];
String days[] = new String[7];
String[][] cities =newString[4][2]; int [][][] numbers =newint[2][2][2]; int [][][][] numbers4 =newint[2][2][2][2]; androidVersions[0]="Apple Pie"; androidVersions[1]="Bannana Bread"; androidVersions[2]="Cupcake"; androidVersions[3]="Donut";System.out.println(androidVersions[0]);System.out.println(androidVersions[1]);System.out.println(androidVersions[2]);System.out.println(androidVersions[3]);System.out.println();System.out.println(); cities[0][0]="Colombia "; cities[0][1]="Medillin "; cities[1][0]="Colombia "; cities[1][1]="Bogota "; cities[2][0]="Mexico "; cities[2][1]="Guadalajara "; cities[3][0]="Mexico "; cities[3][1]="CDMX "; int a =0; int b =0; int c =1;for(int i =0;i <=3;i++){System.out.println(cities[a][b]+ cities[a][c]); a++;}String[][][][][][] mono =newString[2][3][1][2][2][2];String monitos = mono[1][0][0][0][0][1]="MONITO";System.out.println();System.out.println("ENCONTRE AL "+ monitos);}
}
Finalmente entendi... luego de muchos intentos.
En el ejercicio del changuito es importante ver que solo la primera tabla tiene 2 dimensiones, las ptras son solo de 1. De pronto así es más sencillo de reconocer porqué tiene esa posicion
nuestro amigo macaco
xd
uma delicia
📌 Los índices nos permiten identificar una posición en un determinado arreglo.
Es cosa de observar, te vas al cuadro mas grande, primero filas, esta en el cuadro de la fila 1, ahí esta el primer dígito, después columna es la 0, segundo dígito, luego en cuadro seleccionado dentro del azul hay otra dos opciones, esta del lado del 0, tercer dígito, luego en los blancos entendemos que el izquierda es 0 y derecha es 1, entonces el changuito esta del lado del lado 1, entonces quedo la secuencia así [1][0][0][1] arreglo de 4 dimensiones
¿Por qué en algunos lenguajes de programación hay que pre declarar el tamaño de los arrays?
Hola @Tecj, esto pasa normalmente en lenguajes de programación un poco viejos porque antes la cantidad de memoria disponible en los equipos era muy reducida y había que optimizar espacio
Me adelanté un poquito e intenté hacer dinámico el llenado de datos.
import java.util.Scanner;publicclassArraysForAnidado{publicstaticvoidmain(String[] args){String[][] ciudades =newString[3][2];System.out.println("Tamaño = "+ ciudades[1].length);for(int i =0; i < ciudades.length; i++){for(int j =0; j < ciudades[0].length; j++){System.out.println((j ==0)?"Digite el nombre de la ciudad":"Digite la clave de la ciudad");Scanner sc =newScanner(System.in); ciudades[i][j]=String.valueOf(sc.nextLine());}}System.out.println("Ciudades:");for(int i =0; i < ciudades.length; i++){for(int j =0; j < ciudades[0].length; j++){System.out.println((j ==0)?"Ciudad: "+ ciudades[i][j]:"Clave:"+ciudades[i][j]);}}}}
por que en los arrays de cities lo lee desde abajo hacia arriba?
Vi otras referencias de arreglos bidimensionales y el índice de las líneas las veo de inician de arriba a bajo? Tiene algo que ver al momento de imprimir toda la matriz?
Tambien sé puede recorrer El arreglo con un ciclo For?
Tengo entendido que sí, cuando es una matriz se usan dos for anidados. Uno para filas y otro para columnas.
puedo hacer un cast a un indice
No puedes asignarle un tipo de dato distinto a un índice de una array, la cual previamente le declaraste con un tipo de dato distinto. Cuando inicializas una array aparte del tamaño que tendrá, también declaras el tipo de dato que tendrá.
Pero si que puedes manipular el valor de un índice, puedes castear ese valor y usarlo en otras operaciones, pero nunca asignale un nuevo valor al índice con un tipo de dato distinto.
Que operación quieres hacer??, si un valor cualquiera lo quieres usar como indice, el cast es a un tipo entero y que este dentro del rango de valores validos del array, si lo puedes hacer.
Lo contrario no tiene logica, usar un valor de un indice en otro lado ya no es indice, saludos :)
El changuito está en un array de 4 dimensiones, concretamente coincido con algunos compañeros. Está en la posición [1][0][0][1]