Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Beginner Web en 6 Abril 2019, 03:13 AM

Título: Matrices en Java
Publicado por: Beginner Web en 6 Abril 2019, 03:13 AM
Hola, estará bien recorrida esta matriz de String? Mi idea es evitar la lectura los espacios que esten en null, soy novata en este mundo del Java

Código (java) [Seleccionar]
   public static void mostrarInformación(String[][] p) {
       int i, j;
       for (i = 0; i < p.length; i++) {
           for (j = 0; j < p[i].length && p[i][j] != null; j++) {
               System.out.println(p[i][j]+"\t");
           }
           if (p[i][0] != null) {
               System.out.println("");
           }
       }
   }
Título: Re: Matrices en Java
Publicado por: rub'n en 6 Abril 2019, 20:42 PM
Cita de: Beginner Web en  6 Abril 2019, 03:13 AM
Hola, estará bien recorrida esta matriz de String? Mi idea es evitar la lectura los espacios que esten en null, soy novata en este mundo del Java

Código (java) [Seleccionar]
   public static void mostrarInformación(String[][] p) {
       int i, j;
       for (i = 0; i < p.length; i++) {
           for (j = 0; j < p[i].length && p[i][j] != null; j++) {
               System.out.println(p[i][j]+"\t");
           }
           if (p[i][0] != null) {
               System.out.println("");
           }
       }
   }



Solo un ajuste para recorrerla, y filtrando los nulls


Código (java) [Seleccionar]


public class MatrisDeStrings {

    private static final String[][] NOM_APE = {{"Raul","Salazar",
                                               "Maria","Gonzales",
                                               "Josefina","Petronila",
                                               "Ana",null
                                               }};

   public MatrisDeStrings() {

       matris(NOM_APE);
   }

   public static void matris(final String[][] matris) {

       for(int f=0; f<matris.length; f++) {
           for(int c=0; c<matris[f].length; c++) {
               if(Objects.nonNull(matris[f][c])) {
                   System.out.println(matris[f][c]);
               }
           }
       }
       
       //con programacion funcional
       Arrays.stream(NOM_APE)
                .flatMap(Arrays::stream)
                .filter(Objects::nonNull)
                .forEach(System.out::println);

   }

   public static void main(String ...agrs) {
       new MatrisDeStrings();
   }
}


el metodo nonNull de la clase java.util.Objects solo compara el objeto distinto de null

Código (java) [Seleccionar]
public static boolean nonNull(Object obj) {
       return obj != null;
   }