Salida de matriz en una caja

Estoy aprendiendo Java y me gustaría saber cómo se puede imprimir una matriz en un cuadro emergente usando JOptionPane.

No me refiero a imprimirlos en cuadros separados para cada elemento de la matriz, sino a imprimir todo el contenido de la matriz en un solo cuadro con JOptionPane.showMessageDialog, después de haber ingresado los valores uno por uno mediante JOptionPane.showInputDialog.

Ejemplo:

Escriba un programa que ingrese 5 enteros (o cadenas) y guárdelos en una matriz. Luego imprime la matriz en un cuadro emergente al final, con todos los valores de las variables.

Básicamente, así es como empezaría:

int numberBox[] = new int[5];

for (int i = i; i<numberBox.lenght; i++)
{
   String text = JOptionPane.showMessageDialog (null, "Give me numbers:");
   numberBox[i] = Integer.parseInt (text);
}

En realidad, el código que he escrito estoy seguro de que tiene errores. Por otra parte, es por eso que necesito tu ayuda.

preguntado el 08 de noviembre de 11 a las 18:11

3 Respuestas

Necesita crear una cadena que contenga números ingresados ​​separados por delimitadores. Para construir un String, eche un vistazo a StringBuilder. Esta clase es mutable, significa que no se creará un nuevo objeto cada vez que agregue algo a la cadena. Para comparar, String es inmutable y no eficiente si va a concatenar varios elementos.

También es posible usar la clase Arrays Java, pero recomendaría mirar StringBuilder también para ampliar su conocimiento.

respondido 08 nov., 11:22

Muchísimas gracias :-). Intentaré aprender más sobre ese generador de cadenas porque no tengo ni idea :-( - GeekyMiss

Una vez que haya recopilado información y haya creado una matriz de ints or Strings, así es como puede imprimirlos en un cuadro de diálogo:

// Get the input; this could be an array of ints or strings, either will work
int numberBox[] = gatherInput();

// Convert the array into a String form: "[1, 2, 3, 4, 5]"
final String numbers = Arrays.toString( numberBox );

// And show a simple dialog box with the numbers
JOptionPane.showMessageDialog( null, numbers );

respondido 08 nov., 11:23

Lamento haber intentado hacerlo de la forma que me ha explicado, pero parece que no lo entiendo. ¿Podría ser un poco más claro, por favor? ¿Podría escribir incluso cómo recopila la entrada en lugar de llamar a meetInpur () porque tengo dificultades para hacer eso? - GeekyMiss

@GeekyMiss: seguro que sabes leer los tutoriales, no estás tan indefenso, ¿verdad? - Aerodeslizador lleno de anguilas

podrías probar algo como esto

int[] array = {1,2,3,4,5};
String end = "";

for(int i = 0; i < array.length; i++){
    end += array[i] +  " ";
}

JOptionPane.showMessageDialog(new JFrame(), end);

respondido 08 nov., 11:22

No deberías hacer String concatenación como esta, deberías usar StringBuilder en lugar de. Es más, Arrays#toString(...) convertirá una matriz de algo en un String formulario para usted para que no tenga que escribir manualmente bucles como este. - Nate W.

Muchas gracias: -) ... sin embargo, eso parece un poco más avanzado que mi nivel actual en java ... ;-( así que no entiendo cómo hacerlo correctamente :-( - GeekyMiss

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.