2011-11-08 8 views
1

私はJavaを学んでいます。JOptionPaneを使用してポップアップボックスで配列を印刷する方法を知りたいですか?ボックス内の配列の出力

JOptionPane.showMessageDialogで配列コンテンツ全体を1つのボックスに印刷することを、JOptionPane.showInputDialogで値を1つずつ入力した後に、別々のボックスに印刷することを意味するものではありません。

例:

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

あなたが入力を集め、intsまたはStringsの配列を構築していたら、ここにあなたがダイアログボックスにそれらを印刷することができます方法は次のとおりです。

ユーザー入力を収集するための
// 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()を呼び出す代わりに、入力を集める方法を書いてもいいですか?cuz私はそれをやるのが難しいです。 – 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

区切り文字で区切られた入力番号を含む文字列を作成する必要があります。 Stringをビルドするには、StringBuilderを見てください。このクラスは変更可能です。文字列に何かを追加するたびに新しいオブジェクトが作成されないことを意味します。と比較するために、Stringは不変であり、複数の要素を連結しようとすると効率的ではありません。

Arrays Javaクラスを使用することもできますが、知識を拡張するためにStringBuilderを参照することをおすすめします。

+0

ありがとう非常に多くの:-)。私はその文字列についての詳細を学ぶしようとするBuilderのcuz私はそれの手がかりを持っていない:-( – GeekyMiss

関連する問題