Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] ¿como trabajar solo los que tengan algun valor?

Estas en el tema de ¿como trabajar solo los que tengan algun valor? en el foro de Java en Foros del Web. Como es posible detectar la cantidad de elementos del arreglo que estan llenos. En este ejemplo, me deberia detectar 3. O en el if solo ...
  #1 (permalink)  
Antiguo 07/10/2015, 12:07
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 3
¿como trabajar solo los que tengan algun valor?

Como es posible detectar la cantidad de elementos del arreglo que estan llenos. En este ejemplo, me deberia detectar 3. O en el if solo ingresar cuando el valor del arreglo no sea nulo.

public class ImprimirArreglo {

public static void main(String[] args) {
int[] miarreglo = new int [5];
miarreglo[0] = 456;
miarreglo[1] = 1;
miarreglo[2] = 65;

for ( int i = 0; i < miarreglo. length; i++) {
if( miarreglo[i ] == null ) {
System. out.println( "es nulo");
}
}
}
}
  #2 (permalink)  
Antiguo 07/10/2015, 13:20
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: ¿como trabajar solo los que tengan algun valor?

Un int es una primitiva y no un objeto, por lo que un int no puede ser null, y desde el momento que tienes un array de int todos los elementos están inicializados, no puedes distinguir un cero que tú metas de uno de inicialización.

De todas formas, los arrays estáticos están pensados para un número fijo de elementos, por lo que en java se supone que casi siempre tendrán valor y no existe un método directo que te permita contarlos.

La forma más evidente es que tú mismo hagas un método que los cuente, aunque haya otras soluciones.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: string, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:15.