0

Ok say I have Multidimensional array that I want to display in JOptionPane.showMessageDialog. I know that when using System.out.println, you use a for loop. However the array size is determined by the user input, therefore I have to use a incrementor.

For example: userinput[k] next to usernumber[k] then the next row would be userinput[k+1] next to usernumber[k+1]

The trouble I am having is that by using my loop, it does each set one at a time in separate windows and not all together in a table in one window.

for (int k = 0; k < userinput.length; k++){
    JOptionPane.showMessageDialog(null, userinput[k]);
}

for (int k = 0; k < 2; k++){
    JOptionPane.showMessageDialog(null, usernumber[k]);
}
MadProgrammer
  • 343,457
  • 22
  • 230
  • 366
Chris
  • 53
  • 1
  • 10

2 Answers2

2

Build your output into a single String.

You can use html tags to provide additional formatting

StringBuilder sb = new StringBuilder(64);
sb.append("<html><table>");
for (int ui = 0; ui = < userinput.length; ui++) {
    sb.append("<tr><td>");
    sb.append(userinput[ui]);
    sb.append("</td>");
    for (int k = 0; k < 2; k++){
        sb.append("<td>");
        sb.append(usernumber[k]);
        sb.append("</td>");
    }
    sb.append("</tr>");
}
sb.append("</table></html>");
JOptionPane.showMessageDialog(null, sb.toString());
MadProgrammer
  • 343,457
  • 22
  • 230
  • 366
1

Use a StringBuilder and concatenate each element of the array into a display message,

Reimeus
  • 158,255
  • 15
  • 216
  • 276