Inicializar un array en Java

14/jun/2007 Java , 34 Comentarios
java

Cuando vayamos a inicializar un array en Java tenemos varias posibilidades de hacerlo. No es que haya una mejor que otra, sino que podríamos decir que dependiendo de las circunstancias que se nos den e incluso de la que nos guste más.

La primera es en la propia declaración del array:

  1. String a[] = {"Avila","Burgos","León","Palencia","Salamanca",
  2. "Segovia","Soria","Valladolid","Zamora"};

En este caso no hace falta que indiquemos numéricamente el número de elementos, sino que el tamaño se calculará dependiendo de los elementos que pongamos entre las llaves.

La segunda forma es mediante la asignación directa de elementos. Aquí, lo primero que tenemos que hacer es declarar el array:

  1. String b[] = new String[9];

Y después ir asignando los elementos a sus respectivas posiciones. Siempre teniendo en cuenta que el primer elemento del array es el cero.

  1. b[0] = "Avila";
  2. b[1] = "Burgos";
  3. b[2] = "León";
  4. ...

Como limitación conceptual, la primera opción será más deseada cuando conozcamos de antemano los elementos del array. Ya que en el caso de que en un determinado punto de nuestro programa no sepamos los elementos que van a formar parte del array, nos veremos abocados a utilizar la segunda forma.

Vídeos sobre Java

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

34 comentarios en “Inicializar un array en Java”

Víctor Cuervo

Diana

Cordial Saludo, alguien de usted es tan amable y me puede explicar paso a paso la función que cumple la linea 7(++frecuencia[respuestas[respuesta]]; ) del siguiente algoritmo. muchas gracias.
public class frecuencia {
public static void main(String[] args) {
int respuestas[]= {1,2,6,4,8,5,9,7,8,10,1,6,3,8,6,10,3,8,2,7,6,5,7,6,8,6,7,5,6,6,5,6,7,5,6,4,8,6,8,10};
int frecuencia[]=new int [11];
for (int respuesta=0; respuesta<respuestas.length ; respuesta++)
++frecuencia[respuestas[respuesta]];

}

}

Víctor Cuervo

Jonatan Bahut

Pancho del Solar;
Yo pondria como nombre de esa clase main, lo siguiente

/**
*Clase main para manejo por consola.
*Permite agregar Cursos y Alumnos, listar y buscar Alumnos por Curso.
*/

Creo que con eso estaria bastante bien.

Lo mas importante es documentar que hace cada metodo que hayas creado en el resto de las clases que se van a utilizar para la manipulacion y persistencia de los datos
que agregues.

Víctor Cuervo

Pancho del Solar

Hola amigos,
les quiero contar que tengo un drama,
NECESITO DOCUMENTAR ” AGREGAR COMENTARIO JAVADOC ” a esta clase.

QUE ALGUIEN ME AYUDE!!!!!
De antemano muchas gracias…

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SIstema {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
BufferedReader lee=new BufferedReader(new InputStreamReader(System.in));
Curso[] curso = new Curso[20];
int cantidad =0;
int opc = 0;
do
{
System.out.println(“\nSISTEMA DUOC”);
System.out.println(“\n1.- Ingresar Curso”);
System.out.println(“\n2.- Ingresar Alumno a Curso”);
System.out.println(“\n3.- Ver Alumnos por Cursos”);
System.out.println(“\n4.- Buscar Alumnos en un curso”);
System.out.println(“\n5.- Salir”);
System.out.print(“\nElija su Opcion: “);

opc = Integer.parseInt(lee.readLine());

switch(opc)
{
case 1 : System.out.println(“Ingresar nombre Curso”);
String nom=lee.readLine();
System.out.println(“Ingresar vacantes del Curso”);
int vac=Integer.parseInt(lee.readLine());
System.out.println(“Ingresar horario del Curso”);
Horario hor = null;
System.out.print(“Inicio”);
int ini =Integer.parseInt(lee.readLine());
System.out.println(“”);
System.out.print(“Termino”);
int fin =Integer.parseInt(lee.readLine());
hor=new Horario(ini,fin);
curso[cantidad]= new Curso(nom,hor,vac);
cantidad++;
for(int i=0;i<cantidad;i++)
{
curso[i].imprimirCursos();
}

break;

case 2 : System.out.println("selecccione el Curso");
Curso c;
for(int i=0;i<cantidad;i++)
{
System.out.println(i+1+" "+ curso[i].getNombreCurso());
}
int opc1=Integer.parseInt(lee.readLine());
c=curso[opc1-1];
curso[opc1-1].inscribirAlumno(c);

break;

case 3: System.out.println("selecccione el Curso");
Curso c1;
for(int i=0;i<cantidad;i++)
{
System.out.println(i+1+" "+ curso[i].getNombreCurso());
}
int opc2=Integer.parseInt(lee.readLine());
c1=curso[opc2-1];
curso[opc2-1].verListadoDeEstudiantes(c1);
break;

case 4: System.out.println("Ingrese el nombre del alumno");
String nombre=lee.readLine();
Curso c2 ;
for(int i=0;i<cantidad;i++)
{
c2=curso[i];
curso[i].buscarEstudiantes(c2,nombre);
}
break;
case 5: System.exit(0);
break;
//
// case 2 : registroResultadoExamen();
// break;
//
// case 3: mostrar();
// break;
//
// case 4 : System.exit(0);
// break;
}

}while(opc!=5);

}
}

Víctor Cuervo

LUIS

HEY QUE ONDA AQUI SALUDANDOLOS DESDE EL ITD SALUDOS COLEGAS PROGRAMADORES

Víctor Cuervo

camus

me sirvio mucho =) gracias

Víctor Cuervo

fewar

String sDelimiterMail = “;”;
String[] sMailCC = null;
sMailCC = SMTP_MAILCC_SEM.split(sDelimiterMail);
for(int i =0; i < sMailCC.length ; i++)
msg.addRecipients(Message.RecipientType.CC, sMailCC[i]);

….

..
.

Víctor Cuervo

gian

y como seria crear un array dentro de un array ¿?

Víctor Cuervo

leo

che podes guardar en memoria o en el array y despues recuperarlo digo guardar una url y despues pudes leerla

Víctor Cuervo

miguel

mandame tu pregunta no t entiendo any

Víctor Cuervo

anny

hola soy kilssy
tengo una inquietud tengo que hacer un programita que reciva un arreglo y desoues diga los numeros retpetidos del arreglo

ejemplo el 5: 10 veces , el 1:2
me podrian echar una ayudadita

Víctor Cuervo

Oscar

Listo, sera un array bidimesional de string y convierto a int cuando lo necesite….

Gracias amigo por la idea, tambien es valida

Víctor Cuervo

Jonatan Bahut

Bueno, pero en vez de hacer un arrays Bidimensional, podes hacer 2 array unidimensionales q trabajen en paralelo.
Bah, es la unica q me se xD

Víctor Cuervo

Oscar

Lo que quisiera es una lista que tenga valores String y enteros por cada fila algo asi como nombre y peso.

Imaginate el mismo ejemplo que colocas pero bidimencional con una dato String y otro entero.

La idea es colocar un set de valores iniciales. Tio disculpa la poca explicacion anterior.

Para que lo pudiera necesitar? Para una estructura basica donde inicialmente pudiera por ejemplo tener, en el caso de unas cartas, Las pintas y el numero de cartas por pintas. Y de alli yo creo mi mazo.

Me copias?

Víctor Cuervo

Jonatan Bahut

cla, lo que vos decis es de asignar por consola o GUI, los datos que vos quieras, no?
No poner como los ejemplos que te dan aca:
String a[] = {“Avila”,”Burgos”,”León”,”Palencia”,”Salamanca”,
“Segovia”,”Soria”,”Valladolid”,”Zamora”};

Xq nadie programa asi reamente…

Yo te entiendo capo, es complicado cuando te tiran las cosas sueltas jeje!

Víctor Cuervo

Oscar

Y como lo hago con listas:

Quiero algo asi

List datos = {{“Oscar”,12 },{“Ana”, 29}};

para una asignacion directa.. Como se pudiera hacer?

Víctor Cuervo

Jonatan Bahut

gracias por el aporte de ambos, muchachos! pero vuestra pagina solo tiene como ejemplo de arrays de tipo Char. Ya me los sabia en Int y ahora en Char, pero sigo sin saber como declarar una de tipo String y que despues mediante un Vector (en caso de ser necesario) pueda llamar a los objetos de dicha Coleccion y que me los acomode de forma alfabetica.
Igual gracias, buscare por otro lado…

Víctor Cuervo

lineadecodigo

@Jonatan Bahut,

La idea de Linea de Código es la de explicar ejemplos concretos. En este caso la instanciación de un array.

Puedes echarle un ojo a Arrays en Java para saber un poco más sobre arrays.

Espero que te sea de ayuda.

Víctor Cuervo

lineadecodigo

@Carlos,

Te recomiendo que des de alta tu pregunta en el Foro Java para que la gente pueda ayudarte.

Víctor Cuervo

Jonatan Bahut

todo muy linda la declaracion y la sarta de pavadas que dijeron…
pero yo soy nuevo en esto y todo lo que acabaron de decir sobre los arrays de tipo String no me sirvio para nada!
Lo declaro y despues que???
No es lo mismo pretender ordenar un Array de tipo String que una de tipo Int….
Entonces en vez de hacerse los bananas demuestren lo poco que saben porq pelean por cosas de 1er año de programacion..
Saludos

Víctor Cuervo

Carlos Cueto Fernandini

sugerencia: Quisiera saber como insertar imagenes de fondo en un programa realizado en JCreator LE. Por favor es urgente..Gracias.

Víctor Cuervo

zugg48

Excelente, lo que se trata de exponer aquí es un ejemplo básico de la declaración de un Array, y para los que estamos comenzando a programar como yo, estos ejemplos son de gran ayuda.

Víctor Cuervo

juan pablo

bastante decente y bien presentado, para los criticones, (no me vengan con cuentos) si hasta en un simple punto y coma se equivocan jajajaaj) asi que no se las deen de capos xD aparte el codigo que publico ese tipo no tiene nada de espectacular xD….

saludos

Víctor Cuervo

lineadecodigo

@Andres Vicente Galvis,

Muy buen aporte. Gracias por tu colaboración.

Víctor Cuervo

Andres Vicente Galvis

para arreglos bidimencionales se hace lo siguiente…..muy útil!!

int arreglo1[][] = {{1, 2, 3},{4, 5, 6}};

Buen aporte……nos vemos!!!
_______
ORION

Víctor Cuervo

otro_fanfa

yo tambien la tengo larga….q conste.

Víctor Cuervo

fredperry

Estan bien estos ejemplos básicos precisamente cuando tienes un nivel avanzado y más orientado a J2EE, que es cuando se te van olvidando estas cosillas

Víctor Cuervo

Gabriel

me quedo con el primer ejemplo es el que me sirvio.

Víctor Cuervo

myste

basico? si, y que hay de malo?? algunos acabamos de empezar con java. Nos cuentan o piden cosas super complejas, y fallamos en este tipo de cosas… Gracias por el ejemplo

Víctor Cuervo

jc_abarca

Este tipo es uno de pocos, didáctico en extremo, lo que configura material de primer nivel, escaso eso si.
Los demás que critican, uno sabe poco (lo que no es un pecado, siempre y cuando no hagan gala de aquello como crítica destructiva, típico en todo caso, de la pedanteria que reina en la informática), el otro menciona un array bidimencional (el cual no existe), podría ser bidimensional, a propósito de criticar cosas que no vienen al caso.
Buen material, pero a publicar más, please.

Víctor Cuervo

Ridix

//mejor es array bidimencional

import java.lang.*;
import java.io.*;
public class Matriz
{
public static void main(String[] args)
{
int A[][] = new int[6][8];

for(int i=0;i<A.length;i++)
{ for(int j=0;j<A[0].length;j++)
{
A[i][j]=(int)(Math.random()*100);
}
}

System.out.println(“\t ············· LOS ELEMENTOS DE LA MATRIZ SON ················ \n”);
for(int i=0;i<A.length;i++)
{ for(int j=0;j<A[0].length;j++)
{
System.out.print(“\t”+A[i][j]);
}
System.out.println(“\n”);
}
}

}

//ummmm
//Ridix

Víctor Cuervo

alza

Tu lo has dicho, por lo que tu sabes, que por lo que se vé sabes mas bien poco

Víctor Cuervo

Arr

esta haciendo un array de Strings…..¬¬’

Víctor Cuervo

pml

Vamos a ver…

que yo sepa, en java existe el tipo array y la clase String, no confundirlos!!!

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*