2011-11-08 32 views
1

我正在学习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); 
} 

其实,我写的代码,我相信它有错误。然后再次,这就是为什么我需要你的帮助。

回答

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

我很抱歉我试图按照你解释的方式去做,但我似乎不明白。请你更清楚些吗?就像你能写甚至如何收集输入,而不是调用gatherInpur()因为我有困难这样做。 – GeekyMiss

+1

@GeekyMiss:当然你知道如何阅读教程,你不是那么无助,是吗? –

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

你不应该这样做'String'串联,你应该使用'StringBuilder'来代替。此外,'Arrays#toString(...)'会将一些东西转换成一个'String'形式,所以你不需要像这样手动编写循环。 –

+0

非常感谢: - )......不过,这似乎比我目前在java中的水平稍高一点...... ;-(所以我有点不懂如何正确地做到这一点:-( – GeekyMiss

2

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

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

+0

谢谢非常多:-)我会尝试了解更多关于该字符串的信息Builder cuz我还没有弄清楚它的一些线索:-( – GeekyMiss