viernes, 23 de septiembre de 2011

OPERACIONES CON ARREGLOS DE UNA DIMENSION (JAVA)



Utilizar un arreglo para hacer operaciones con el, en la mayoría de las veces implica el uso de la instrucción for, pues para poder tomar o actualizar cada elemento del arreglo, es necesario utilizar índice, y es por esto que el for es la instrucción ideal.


Por ejemplo, como se vio en arreglos de una dimensión, para inicializar un arreglo ya una vez definido podemos utilizar:

int arreglo[] = new int [10];
     for (int i=0; i<10; i++) {
          arreglo [i] = i;
     }


Pero también podemos utilizar la variable length, la cual es definida para todo arreglo en Java, y esta representa el número máximo de posiciones en el arreglo, es decir para el ejemplo anterior quedaría como:

int arreglo[] = new int [10];
     for (int i=0; i < arreglo.length; i++) { 
          arreglo [i] = i; 
     } 


Al hacer operaciones con arreglos es muy común que utilicemos también una constante para definir el máximo valor a utilizar en el arreglo, es decir para el ejemplo anterior quedaría como: 

int final MAX = 10; 
int arreglo[] = new int [MAX]; 
     for (int i=0; i < MAX; i++) { 
          arreglo [i] = i; 
     } 


Donde MAX es una constante (definida así al usar la cláusula final) que valdrá 10 durante la ejecución del método, clase o parte donde se encuentre definida. 


Sacando el mayor de un arreglo 
Cuando deseamos obtener el valor mayor de todos los valores definidos en un arreglo, debemos recorrer todo el arreglo y utilizar una variable que nos ayude en esta comparación. La mejor manera de inicializar esta variable es utilizar el primer valor del arreglo, por ejemplo: 


int mayor = arreglo[0]; // se toma el primer valor como el mayor 
// se revisa cada elemento en el arreglo empezando por el segundo 
     for (int i=1; i < arreglo.length; i++) { 
          // si el elemento del arreglo es mayor 
          if (arreglo[i] > mayor) {
               mayor = arreglo[i]; // cambiamos el valor del mayor
          }
     }
     System.out.println(“El valor mayor es “ + mayor);


Tomando el índice en el que se encuentra
Para hacer esto definimos otra variable, la cual debe empezar con 1 y si el valor del arreglo es mayor, además de hacer el cambio de mayor, actualizamos la posición de donde se encontró el mayor, el ejemplo quedaría como:


int posición = 0;
int mayor = arreglo[0]; // se toma el primer valor como el mayor
// se revisa cada elemento en el arreglo desde el segundo
     for (int i=1; i < arreglo.length; i++) { 
          // si el elemento del arreglo es mayor 
          if (arreglo[i] > mayor) {
               mayor = arreglo[i]; // cambiamos el valor del mayor
               posicion = i; // se actualiza la posicion
          }
     }
     System.out.println(“El valor mayor es “ + mayor);
     System.out.println(“Y esta en la posicion “ + (posición+1));


Si queremos saber en que posición se encontró el mayor valor, entonces debemos utilizar un índice, el cual empieza en 0 (si es que tomamos como referencia inicial el primer valor) y después al detectar que el valor del arreglo es mayor, se hace el cambio con mayor y se actualiza la posición, al desplegar la posición le añadimos uno mas, ya que empieza desde cero.


Sacando el menor de un arreglo y su posición
Para obtener el valor menor, solo se cambia la comparación y en lugar de comparar contra mayor, solo se compara contra menor, el ejemplo lo vemos como sigue:


int posición = 0;
int menor = arreglo[0]; // se toma el primer valor como el menor
// se revisa cada elemento en el arreglo desde el segundo
     for (int i=1; i < arreglo.length; i++) {
          // si el elemento del arreglo es menor
          if (arreglo[i] < menor) {
               menor = arreglo[i]; // cambiamos el valor del menor
               posicion = i; // se actualiza la posicion
          }
     }
     System.out.println(“El valor menor es “ + menor);
     System.out.println(“Y esta en la posicion “ + posicion);


Obteniendo el promedio del arreglo
Para obtener el promedio de un arreglo, se debe de sumar los elementos y dividir entre cuantos sean, el ejemplo lo vemos como sigue:

double promedio;
double suma = 0; // se inicializa la suma en cero
// se tomara cada elemento para sumarlo
     for (int i=0; i < arreglo.length; i++) {
          suma += arreglo[i];
     }
     promedio = suma / arreglo.length;
     System.out.println(“El promedio es “ + promedio);
Share:

domingo, 18 de septiembre de 2011

EJEMPLO_1 ARREGLOS (APPLET JAVA)

Es muy sencillo tomar datos y agregarlos a un arreglo, como lo puede mostrar la siguiente aplicación, este applet, tomará un dato de texto y lo añadirá en un arreglo de números, además desplegará lo que tiene el arreglo en memoria, para ser desplegado en el texto de área.

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
 
// <applet width="400" height="200" code="AppletArreglos1"></applet>
 
public class AppletArreglos1 extends Applet implements ActionListener{
 
                Label l1, l2;
                Button b1, b2,b3,b4;     
                TextField t1;
                TextArea ta1;
                int arreglo[];
                int conta;
 
             public AppletArreglos1() {
                                     l1 = new Label("Dato a Añadir");
                                     l2 = new Label("Texto para ver Arreglo");
                                     t1 = new TextField();
                                     ta1 = new TextArea(10,12);
                                     b1 = new Button("Añade");
                                     b2 = new Button("Muestra Vector");
                                     b3 = new Button("Limpia Vector");
                                     b4 = new Button("Limpia Campos");
                                     add(l1);
                                     add(t1);
                                     add(l2);
                                     add(ta1);
                                     add(b1);
                                     add(b2);
                                    add(b3);
                                     add(b4);
                                     b1.addActionListener(this);
                                     b2.addActionListener(this);
                                     b3.addActionListener(this);
                                     b4.addActionListener(this);
                                     arreglo = new int[100];
                                     conta=0;
                }
                 
                public void actionPerformed(ActionEvent ae) {
                    if (ae.getSource() == b1) {
                        if (conta > arreglo.length) {
                            ta1.setText("No se puede añadir otro elemento");
                        }
                        else {
                            arreglo[conta++] = Integer.parseInt(t1.getText());
                            t1.setText("");   
                        }
                     }
                     if (ae.getSource() == b2) {
                           ta1.setText("");
                           for (int i=0; i < conta; i++) {
                               ta1.append("" + arreglo[i] + "\n");
                           }
                     }
                     if (ae.getSource() == b3) {
                           conta = 0;
                           arreglo = new int[100];
                     }
                     if (ae.getSource() == b4) {
                           t1.setText("");
                           ta1.setText("");
                     }
                }
}


La cual se visualiza asi:























De la aplicación anterior podemos se observar que aunque length es el número de elementos en el arreglo, solo se utiliza conta en el ciclo para desplegar, ya que esta variable nos dice cuantos elementos se han introducido al arreglo.
Share:

¿QUE SON LOS APPLETS?

Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por 'applets'.

A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. El término fue introducido en AppleScript en 1993.

Ejemplos comunes de applets son las Java applets y las animaciones Flash. Un Java applet es un código JAVA que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un programa pequeño que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta.

Por otra parte, la diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan. Para cargar una aplicación JAVA se utiliza el intérprete de JAVA. En cambio, un applet se puede cargar y ejecutar desde cualquier explorador que soporte JAVA (Netscape, Mozilla Firefox, Google Chrome.).

Share:

MAL USO DE LOS INDICES EN ARREGLOS (JAVA)

Usando mal los Índices 
Cuando un subíndice esta mal empleado, haciendo referencia a un elemento en el arreglo que no existe, Java arroja un error de ejecución llamado de excepción, el cual es ArrayIndexOutOfBoundsException, debemos tener cuidado en esto, pues la aplicación se cancela y no continua, como se muestra en la siguiente aplicación:

public class AplicacionArreglo4 { 
    public static void main(String[] args) { 
        int arreglo[] = {1,2,3};  
           for (int i=0; i<arreglo.length+1; i++) {
                System.out.println("Elemento [" + i + "] = " + arreglo[i]);
         }
     }
 } 

La ejecución que muestra la aplicación es:

 
Podemos observar como la aplicación alcanza a mostrar el último valor posible, pero cuando hace referencia al elemento 3 (ya que en la aplicación la condición es i < arreglo.length + 1) se sale del rango y arroja la excepción.

Share:

Ipod


BTemplates.com