Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Errol_Flynn en 14 Enero 2019, 17:36 pm



Título: [DUDA] Ayuda con impresión de arrays en Java con formato
Publicado por: Errol_Flynn en 14 Enero 2019, 17:36 pm
Hola a todos,

Intento imprimir un array (unidimensional) en Java. Eso no hay problema.
Pero necesito que salga con este formato:

[1, 2, 3, 4, 5, 6, 7]


Código:
System.out.print("Descartado: [b][[/b]");
for(i=0;i<elementos;i++){
System.out.print(generador[i] + " ");
}
ES.msg("[b]][/b]");



Esto no vale...es trampa (poner los corchetes en la salida)

La única forma que conozco que saca el formato correcto es llamando a este método:



Código:
System.out.println(Arrays.toString(generador));



pero por restricción del profesor, no puedo usar este método arrays.toString


Alguna solución ?


Gracias


Título: Re: [DUDA] Ayuda con impresión de arrays en Java con formato
Publicado por: rub'n en 14 Enero 2019, 22:08 pm
>:D parece el tipico profesor aburrido de toda la bendita vida. v :¬¬ cuidado con eso

Código
  1. package foro;
  2.  
  3. import java.security.SecureRandom;
  4. import java.util.HashSet;
  5. import java.util.Set;
  6. import java.util.SortedSet;
  7. import java.util.TreeSet;
  8. import java.util.logging.Logger;
  9.  
  10. public class ArrayConFormato {
  11.  
  12.    private static final Logger LOGGER = Logger.getLogger(ArrayConFormato.class.getName());
  13.    private static final SecureRandom SR = new SecureRandom();
  14.  
  15.    public static void main(String ...gaga) {
  16.  
  17.        //una manera de hacerlo
  18.        final Set<Integer> num = new HashSet<>();
  19.        num.add(1);
  20.        num.add(2);
  21.        num.add(3);
  22.        num.add(4);
  23.        LOGGER.info("Array " +num);
  24.  
  25.        //otra manera de hacerlo
  26.        final SortedSet<Integer> num2 = new TreeSet<>();
  27.        num2.add(1);
  28.        num2.add(2);
  29.        num2.add(3);
  30.        num2.add(4);
  31.  
  32.        LOGGER.info("Array " +num2);
  33.  
  34.        final int[] numeros = new int[5];
  35.        for(int f=0; f<numeros.length; f++) {
  36.            numeros[f] = getPseudoRandom();
  37.        }
  38.  
  39.        // aqui creo un array de 5 indices, aleatorios
  40.        // y le concateno una coma
  41.        final StringBuilder sb = new StringBuilder("[");
  42.        for(int f=0; f<numeros.length; f++) {
  43.            sb.append(numeros[f]);
  44.            sb.append(",");
  45.        }
  46.        //al final le borro la coma, la ultima, y le concateno el ]
  47.        final String XD= sb.delete(sb.length()-1,sb.length()).append("]").toString();
  48.        LOGGER.info(XD);
  49.  
  50.    }
  51.  
  52.    private static int getPseudoRandom() {
  53.        return 1 + SR.nextInt(11);
  54.    }
  55. }
  56.  
  57.  

Código
  1. Jan 14, 2019 10:07:18 PM ArrayConFormato main
  2. INFORMACIÓN: Array [1, 2, 3, 4]
  3. Jan 14, 2019 10:07:18 PM ArrayConFormato main
  4. INFORMACIÓN: Array [1, 2, 3, 4]
  5. Jan 14, 2019 10:07:19 PM ArrayConFormato main
  6. INFORMACIÓN: [6,7,6,4,7]
  7.  
  8. Process finished with exit code 0
  9.