lunes, 27 de diciembre de 2010

Vectores, arrays estáticos en Java (Llenar y mostrar)

"Hay que dar para recibir..."

Ahora que ya sabemos llenar un vector estático, ahora nos dispondremos a llenarlo, un vector se maneja mediante índices los cuales nos ayudan a guardar o localizar datos específicos dentro del vector, los índices se comienzan a contar a partir de la posición 0, así pues, si un vector tiene longitud de 5 sus índices serán: 0,1,2,3,4 ; para posicionarse en un índice, basta con colocar el nombre del vector y en los corchetes el índice a solicitar.

vec[ índice];

Por ejemplo...
   System.out.println("El valor de la segunda posición del vector es: "+vec[ 1 ]);
...Para pedir un valor de cierto índice del vector:
    System.out.println("Dame el valor de la segunda posición del vector");
       vec[ 1]=leer.nextInt( );//esta función la veremos aplicada más adelante...

Sería tedioso si quisieramos llenar un vector especificandole índice por índice, o incluso caeríamos en incertudumbre si le decimos al usuario que teclee el tamaño de la matriz; los algoritmos habituales  para los vectores incluyen un ciclo que permite el llenado automatizado para el vector, eliminando así los dos problemas anteriores.

En este ejemplo presentaremos cómo podemos llenar al vector mediante un ciclo, los datos serán ingresados por teclado.

//importaremos la clase que nos permite leer desde teclado. 

import java.util.Scanner;

class miVector
 {
     int vec[ ]; //vector de tipo entero
      final int TAM=10; //tamaño de nuestro vector
      public miVector( )//constructor donde creamos nuestro vector
         {
             vec=new int[ TAM ];
          }
      public void llenar( )
      {
          //Usaremos un ciclo for para permitir el llenado, los índices serán representados por la variable i y el límite es el tamaño del vector.

  for(int i=0;i < TAM;i++)
                  {
                            //creamos el objeto para leer
                          Scanner  scan=new Scanner(System.in);
                          System.out.println("Dame un valor para posición "+i);
                          vec[ i ]=scan.nextInt( );//En esta etapa se almacena el dato en el vector según el índice.
                          //la variable i incrementará y el índice del vector cambiará.
                  }//fin del ciclo for
       }//fin del método de llenado
  
  public void mostrar( )
  { 
      //nuevamente un ciclo for
              for(int i=0;i < TAM;i++)
                  {

                          System.out.println("Valor del vector en la posición "+i+ " =  vec ["+vec[ i ]+"] " );
                  }//fin del ciclo for
  }//fin del método mostrar
public static void main(String[]args)
 {
     miVector obj=new miVector( );
    obj.llenar( );
    obj.mostrar( );
 }
 }


Con esto quiero acabar lo que fue una serie de programación básica para programar en Java. Sin embargo aún falta mucho, poco a poco iré subiendo más cosas que ayudaran en la programación, pero ya sin un orden específico.
PD: Agrego un fragmento de la salida 

Saludos!

Vectores, arrays estáticos en Java (Creación)

"Todo cabe en un jarrito, sabiéndolo acomodar..."

Muchas veces nos encontramos con la necesidad de agrupar muchos elementos en uno solo, los arrays, vectores o matrices son aquellos que nos permiten realizar tales actos.

¿Qué son los vectores?

Los Vectores no son más que un conjunto de elementos agrupados que tienen algo en común. Estos nos permiten agrupar en un sólo objeto más objetos, siempre y cuando pertenezcan al tipo del array creado.

Java nos permite dos formas de crear un vector: De forma estática y de forma dinámica.

He aquí primero de forma estática, ya que si se requiere algo dinámico es mejor usar "Listas Ligadas" (Que serán presentadas en otra entrada).


Creacion de un array:

tipo nombre_variable[ ]= new tipo[tamaño ];

Como verán es creado igual que cualquier otro objeto, se declara el tipo su nombre y se instancia, pero para que java entienda que es un vector, al nombre (antes o después) se colocan unos corchetes, y cuando se crea el objeto también se le asignan corchetes, dentro de los cuales se les asignará el tamaño, este tamaño va a ser el mismo durante su tiempo de ejecución, es por eso que se le dice estático.

Ejemplos:

En este ejemplo el vector se declara y posteriormente, en el constructor, se crea.

class miVector
{
  int vec[ ];//declaramos el objeto de tipo entero

  public miVector( )//Por lo regular los vectores se inicializan en el constructor
  {
    //creamos el objeto con un tamaño para 10 enteros, Aquí la variable no usa corchetes
     vec=new int[10];
   }
}


En este otro ejemplo se crea un vector y se construye en una sola línea

class miVector
{
public static void main(String[ ]args)
 {
   int vec[ ]=new vec[10];
 }
}
También podemos generar un vector con datos ya almacenados, los datos ya predefinidos se encontraran entre llaves y separados por comas:

Por ejemplo:
    int vector[ ]={0,1,2,3,4}// Un vector entero de 5 elementos
    String vec[ ]={"Armando","Beto","Carmen","Daniel"}// Vector cadena de 4 elementos

Por el momento mi intención era la de mostrar cómo se declara un arreglo, en la siguiente entrada mostraremos cómo posicionarse y cómo llenarlo.