数组输出在一个框中

时间:2011-11-08 18:30:34

标签: java arrays swing input joptionpane

我正在学习Java,我想知道如何使用JOptionPane在弹出框中打印数组?

我不是指在数组的每个元素的单独框中打印它们,而是在通过JOptionPane.showInputDialog逐个输入值后,用JOptionPane.showMessageDialog将整个数组内容打印在一个框中。

示例:

编写一个输入5个整数(或字符串)的程序并将它们存储在一个数组中。然后在最后的弹出框中打印数组,包含所有变量值。

基本上,这就是我的开始:

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);
}

实际上,我写的代码我确信它有错误。然后,这就是我需要你帮助的原因。

3 个答案:

答案 0 :(得分:2)

收集输入并构建intsStrings数组后,您可以在对话框中打印它们:

// 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 );

答案 1 :(得分:2)

您需要构建一个包含由分隔符分隔的输入数字的字符串。要构建String,请查看StringBuilder。这个类是可变的,这意味着每次向字符串添加内容时都不会创建新对象。为了与之进行比较,如果要连接多个元素,String是不可变的并且效率不高。

也可以使用Arrays Java类,但我也建议您查看StringBuilder以扩展您的知识。

答案 2 :(得分:0)

你可以尝试这样的事情

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);