lunes, 9 de julio de 2012

Ejercicios Arrays (java)

los arrays en java sirven para almacenar variables en cada posición que serán accedidas mediante un índice numérico, osea guardamos un conjunto de objetos en una misma clase  compartiendo el mismo tipo nos permiten agrupar variables relacionadas entre si .

los  arrays en java son clases por eso usamos la palabra new una palabra clave para instanciar.









Estructura de los arrays

  1.  Iniciando con (Variable ) del tipo       int ( por ser valores enteros )
  2.  test   el nombre de la variable
  3. y lo declaramos con  []  (corchetes  almacenando cada valor dentro de este  )
  4. finalizando con   new int [5];
Su uso es muy parecido al de las variables solo que  con corchetes que indicaran el numero de posición de cada una.


Tipos de arrays.

Arrays de una única  dimension.

String [] nombres =[Raul,Mario,Vitor,Ryu,Mery];




int [] test;

test = new int [5];

test [0] = 80;

test [1] = 60;

test [2] = 22;

test [3] = 50;

test [4] = 75;

Importante empezamos desde el [0] al [4]sumando  cinco variables y siempre sera igual el conteo es desde el   0  osea si son 10 variables  seria  del   0,1,2,3,4,5,6,7,8   al    9   terminando con diez variables .

Arrays multidimencionales.

int [] [] test;
test = new int [2] [5] ;

test [0] [0] = 80;
test [0] [1] = 60;
test [0] [2] = 22;
test [0] [3] = 50;
test [0][4] = 75;

test [1] [0] = 82;
test [1] [1] = 62;
test [1] [2] = 23;
test [1] [3] = 54;
test [1][4] = 76;

 
A Continuación los ejercicios .


Ejercicio1

    public class arrays {
    public static void main (String[] args){

    int [] test;
    test = new int [5];
  
    test [0]=80;
    test [1]=60;
    test [2]=22;
    test [3]=50;
    test [4]=75;
  
    for (int i=0; i<5; i++){
      
        System.out.println((i+1) +  "variable "+test[i] );
    }
    }
    }

   

Compilamos
1variable 80
2variable 60
3variable 22
4variable 50
5variable 75

veamos una manera mas fácil de estructurar  el mismo ejercicio



Ejercicio2








    public class arrays {


    public static void main (String[] args){

    int [] test={80,60,22,50,75};
  
  
    for (int i=0; i<5; i++){
      
        System.out.println((i+1) +  "variable "+test[i] );
    }
    }
    }
Compilamos
1variable 80
2variable 60
3variable 22
4variable 50
5variable 75




ejercicio 3
 uso de   length que sumara tantas variables como sean usadas

  






public class arrays {

  
    public static void main(String[] args) {
      
        int [] test= {80,60,22,50,75};
        for(int i=0; i<5; i++){
          
            System.out.println((i+1) + "variables" +  test[i]);
        }
      
        System.out.print("el total de las variables usadas "+test.length);
        }
    }
compilamos
1variables80
2variables60
3variables22
4variables50
5variables75
el total de las variables usadas 5

El siguiente programa muestra una participación  que entra por el teclado con 5 valores respondiendo  con una  confirmación  ordenada  de mayor a menor.
   

uso de length dentro del ciclo for
  for(int i=0; i<test.length;i++){

su uso es para automatizar la cantidad de las variables almacenadas sin necesidad de estar especificando un valor.




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


public class arrays2 {
   
    public static void main( String [] args )throws IOException{
       
        BufferedReader br=
        new BufferedReader (new InputStreamReader(System.in));
       
        int[] test = new int [5];
        System.out.println(test.length+"   valores a introducir  por favor  ");
       
        for(int i=0; i<test.length;i++){
            String str = br.readLine();
            test[i]=Integer.parseInt(str);
        }
            for(int s=0; s<test.length-1; s++){
            for (int t=s+1; t<test.length; t++){
                if (test[t]>test[s]){
                    int tmp=test[t];
                    test[t]=test[s];
                    test[s]=tmp;
                }
            }
               
            }
           
            for(int j=0; j<test.length;j++){
                System.out.println((j+1)+"   valor"+"  fue"+test[j]);
            }
        }
    }

Compilamos
5  valores a introducir  por favor 
45
78
90
12
54
1   valor  fue90
2   valor  fue78
3   valor  fue54
4   valor  fue45
5   valor  fue12

Entendamos el procedimiento o la lógica de la estructura del programa


 En  el  primer grupo


        int[] test = new int [5];
        System.out.println(test.length+"   valores a introducir  por favor  ");





le doy el nombre a la variable de números enteros  con un int   declarando que son cinco  valores [5]


queriendo que imprima mediante la cadena           System.out.println 
usando(test.lenght)  para que las variable sean  ordenadas de mayor a menor



segundo grupo

       
        for(int i=0; i<test.length;i++){
            String str = br.readLine();
            test[i]=Integer.parseInt(str);
        }


Usando un for   para   la introducción de los 5 valores con la cadena de entrada del String.  (Material publicado anteriormente )

tercer grupo
       
      
  for(int s=0; s<test.length-1; s++){            for (int t=s+1; t<test.length; t++){
                if (test[t]>test[s]){
                    int tmp=test[t];
                    test[t]=test[s];
                    test[s]=tmp;
                }
            }
               
            }

especificando por medio del for la orden de mayor a menor de los valores que sean introducidos.


y cuarto y ultimo grupo


            for(int j=0; j<test.length;j++){
                System.out.println((j+1)+"   valor"+"  fue"+test[j]);
            }
        }
    }


La repetición o confirmación de los valores introducidos.


otro ejercicio pero esta vez  imprimirá los valores de menor a mayor







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


public class arrays3 {

    /**
     * @param args
     */
    public static void main(String[] args)throws IOException {
        // TODO Auto-generated method stub

       
        System.out.println("por favor introduzca 5 valores");
       
        BufferedReader br=
        new BufferedReader (new InputStreamReader(System.in));
       
               
       
        int[] test = new int [5];
       
       
        for(int i=0; i<test.length; i++){
            String str = br.readLine();
            int tmp = Integer.parseInt(str);
            test[i]= tmp;
           
        }
       
        int max=0;
        for (int  i=0; i<test.length;i++){
            if(max<test[i]){
                max=test[i];
            }
        }

for (int  i=0; i<test.length;i++){
    System.out.println((i+1)+"valor    "+test[i] + "  lugar");
}
System.out.println("fueron "+max+"valores gracias ");
}
}
por favor introduzca 5 valores
1
2
3
4
5
1valor    1  lugar
2valor    2  lugar
3valor    3  lugar
4valor    4  lugar
5valor    5  lugar
fueron 5valores gracias