Foro de elhacker.net

Programación => 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
  1.    public static void mostrarInformación(String[][] p) {
  2.        int i, j;
  3.        for (i = 0; i < p.length; i++) {
  4.            for (j = 0; j < p[i].length && p[i][j] != null; j++) {
  5.                System.out.println(p[i][j]+"\t");
  6.            }
  7.            if (p[i][0] != null) {
  8.                System.out.println("");
  9.            }
  10.        }
  11.    }


Título: Re: Matrices en Java
Publicado por: rub'n en 6 Abril 2019, 20:42 pm
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
  1.    public static void mostrarInformación(String[][] p) {
  2.        int i, j;
  3.        for (i = 0; i < p.length; i++) {
  4.            for (j = 0; j < p[i].length && p[i][j] != null; j++) {
  5.                System.out.println(p[i][j]+"\t");
  6.            }
  7.            if (p[i][0] != null) {
  8.                System.out.println("");
  9.            }
  10.        }
  11.    }


Solo un ajuste para recorrerla, y filtrando los nulls


Código
  1.  
  2. public class MatrisDeStrings {
  3.  
  4.     private static final String[][] NOM_APE = {{"Raul","Salazar",
  5.                                                "Maria","Gonzales",
  6.                                                "Josefina","Petronila",
  7.                                                "Ana",null
  8.                                                }};
  9.  
  10.    public MatrisDeStrings() {
  11.  
  12.        matris(NOM_APE);
  13.    }
  14.  
  15.    public static void matris(final String[][] matris) {
  16.  
  17.        for(int f=0; f<matris.length; f++) {
  18.            for(int c=0; c<matris[f].length; c++) {
  19.                if(Objects.nonNull(matris[f][c])) {
  20.                    System.out.println(matris[f][c]);
  21.                }
  22.            }
  23.        }
  24.  
  25.       //con programacion funcional
  26.       Arrays.stream(NOM_APE)
  27.                .flatMap(Arrays::stream)
  28.                .filter(Objects::nonNull)
  29.                .forEach(System.out::println);
  30.  
  31.    }
  32.  
  33.    public static void main(String ...agrs) {
  34.        new MatrisDeStrings();
  35.    }
  36. }

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

Código
  1. public static boolean nonNull(Object obj) {
  2.        return obj != null;
  3.    }