elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Array y bucle for
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Array y bucle for  (Leído 9,609 veces)
Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Array y bucle for
« en: 2 Enero 2010, 22:20 pm »

Hola!

Al grano! Estoy haciendo un programa en el cual segun lo tengo diseñado, un metodo reciba 2 vectores y posteriormente invoque a otro metodo, sin devolver nada. Vamos bien.. pero ahora bien, al recibir, 2 vectores debo comparar la uno de ellos en función de otro. Me explico.

Supongamos que tengo un metodo (inventado sobre la marcha) que recibe una lista de x nombres de dependientas de un establecimiento y tienen otro vector que recibe una lista correspondiente al nombre con el dinero que cobra cada dependienta. Quiero almacenar en 2 nuevas matrices... los nombres y el dinero exacto que cobran las dependientas que tengan mas de 1000 euros.

Código
  1. public static void Saldo (String []nombres, int dinero[]{
  2.                //Creo los nuevos vectores apuntando a null ya que no se la longitud de las nuevas matr.
  3.                String nombre2[] = null;
  4.                int dinero2[] = null;
  5.               //Inicio bucle for...para recorrer e ir añadiendo segun los requerimientos:
  6.              for(int i=0; nombres.legth;i++){
  7.                   if(dinero[i]>=5){
  8.                        nombre2[i]=nombre[i];
  9.                        dinero2[i] = dinero[i];
  10.                    }
  11.             }
  12.           metodo_imprimir (nombre2,dinero2);
  13.    }
  14.  

El error viene dado por una excepción por el null de las dos matrices. (NullpointerException). Que para este caso en concreto por mas que miro... nose.. creo que se me escapa algo y nose qué.

También pensé en crear un contador, dentro de la matriz para que cuando acabase el bucle se quedara definida la dimension del vector, pero es una tonteria, teniendo en cuenta que eso lo hace la variable i del bucle for.

Otra cosa que pense es inicializar las matrices dentro del bucle pero no tiene sentido, el error seguiría viniendo al ser declaradas como null y cada interación del bucle volveria a crear la matriz. No sé si me comprendeis.

Algo se me escapa, alguien me ayuda?

P.D. El programa no es el real, es meramente un ejemplo..

P.D.2. La duda real sería, ¿Como utilizar un array unidimensional con una longitud variable que no sabemos y que viene dada dependiendo de otra dentro de un bucle for?

Saludos!


En línea

Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #1 en: 2 Enero 2010, 22:21 pm »

He tenido un problema con el navegador y sin querer he posteado 3 veces. Disculpen las molestias, borrare ahoramismo los post.


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #2 en: 2 Enero 2010, 22:38 pm »

y por que no la inicializas al inicio String nombre2[] = new String [nombres.length];  :huh:
En línea

Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #3 en: 2 Enero 2010, 22:42 pm »

Este es el post bueno.

Por la sencilla razón de que la dimensión de la matriz nueva no es igual que la de la matriz antigua, me explico:

Si tu tienes 20 empleados con 20 nombres y con 20 sueldos... y quieres saber cuales de ellos pasan de 1000 euros... Tu no sabes cuantos hay, creas un programa para saberlo.

Por tanto no tienes forma de inicializar antes con 10 o 12 o 15 empleados ...

Comprendes?
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #4 en: 2 Enero 2010, 23:31 pm »

entiendo
Código
  1. public void method_1(String []nombres, int dinero[]){
  2. String nombre2[] = null;
  3.        int dinero2   [] = null;
  4.        int c=0, y=0;
  5.        for(int i=0;
  6.         i<dinero.length;i++){
  7.         if(dinero[i]>=5)c++;
  8.         if(i==dinero.length-1){
  9.            nombre2 =new String[c];
  10.            dinero2 =new int   [c];  
  11.           for(int index=0;
  12.           index<dinero.length;index++){    
  13.             if(dinero[index]>=5){
  14.             nombre2[y] = nombres[index];
  15.                         dinero2[y] = dinero [index];
  16.                         y++;
  17.             }
  18.             }
  19.             }
  20.        }
  21. }

Saludos.!
« Última modificación: 2 Enero 2010, 23:34 pm por LEYER » En línea

Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #5 en: 2 Enero 2010, 23:50 pm »

que yo me entere, creas una variable,  que pueda calcular la longitud con contadores y demás. y una vez calculada la longitud tienes ya todo. Para hacerlo normal...

No se podría hacer en un solo bucle verdad? Daría error al completar nombre2 y dinero2 no?
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #6 en: 2 Enero 2010, 23:57 pm »

-.-! si se podria pero se nececitarian comprobaciones innecesarias el cual reduces con otro for ademas por que lo quieres hacer con un solo for?? si es por velocidad creo que estas midiendo mal la velocidad de java
En línea

panaka


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Re: Array y bucle for
« Respuesta #7 en: 3 Enero 2010, 00:03 am »

No se si has visto la respuesta que te puse en uno de los otros post y el uso de ArrayList, pero creo que es lo mas simple y con solo un bucle.

Saludos
En línea




Chuck Norris es tan friki tan friki que ve la televisión en el osciloscopio
Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #8 en: 3 Enero 2010, 00:06 am »

Postealo si no te importa porfavor.

@LEYER: Lo digo porque esto es un ejemplo tonto de un programilla que tengo que hacer para clase y nada intento hacerlo lo mas simplificado posible ya que se valora el tema de orden de complejidad y demás lios... intento poner los menos bucles posibles :D
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Array y bucle for
« Respuesta #9 en: 3 Enero 2010, 00:21 am »

haa ok, bueno yo no use array list como lo iso panaka ya que estas trabajando con arreglos pero si lo usas te simplificara mas las cosas pero tendras que modificar los parametos a quien le devolveras los nuevos valores
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines