2012-03-05 5 views
4

私はJavaを学んでおり、Collatz Conjectureに従って一連の数値を返すかなり簡単なプログラムを持っています。私はそれをコンソールに出力したり、多くのウィンドウをポップアップさせたりすることができます。ウィンドウにはそれぞれの番号が1つずつ表示されます。JAVA:複数の出力とメッセージボックスを結合する方法

JOptionPane.showMessageDialog()のすべての出力を表示するには、どのように組み合わせますかJOptionPane.showMessageDialog()

コード:

package collatz; 

import java.util.Random; 
import javax.swing.*; 

public class Collatz { 

/** 
* Demonstrates the Collatz Cojecture 
* with a randomly generated number 
*/ 

public static void main(String[] args) { 
    Random randomGenerator = new Random(); 
    int n = randomGenerator.nextInt(1000); 

    JOptionPane.showMessageDialog(null, "The randomly generated number was: " + n); 


    while(n > 1){ 
     if(n % 2 == 0){ 
      n = n/2; 
      JOptionPane.showMessageDialog(null, n); 
     } 
     else{ 
      n = 3 * n + 1; 
      JOptionPane.showMessageDialog(null, n); 
     } 
    } 

    JOptionPane.showMessageDialog(null, n); 
    JOptionPane.showMessageDialog(null, "Done."); 

} 

} 

ありがとう!

- ZuluDeltaNiner

答えて

4

は、最後にそれを表示し、表示される完全な文字列を追跡します://ドキュメント:[ `StringBuilder`](HTTPを使用する

public static void main(String[] args) { 
    Random randomGenerator = new Random(); 
    int n = randomGenerator.nextInt(1000); 

    StringBuilder output = new StringBUilder("The randomly generated number was: " + n + "\n"); 

    while(n > 1){ 
     if(n % 2 == 0){ 
      n = n/2; 
     } 
     else{ 
      n = 3 * n + 1; 
     } 
     output.append(n + "\n"); 
    } 

    output.append("Done."); 
    JOptionPane.showMessageDialog(null, output); 

} 
+1

ベター.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html)を使用して、 'String'に連結してください。 –

+0

より良いプログラミング方法を反映するように変更されました。 – helloworld922

+0

良い編集。 +1 :) –

関連する問題