2016-11-14 51 views
1

私は2つのクラスを持つ簡単なプログラムを作成しました。この方法は、しかし、それは、これは出力で確認され、その結果、私の方法を完了した後に実行を継続し、私は考え理由を持っていない、正常に動作します:メソッドが終了した後にプログラムが実行され続けます

enter image description here

+0

'packOfCards()' ...このメソッドはどこかで定義されていますか?あなたは実際にコンパイルしましたか? packOfCards()の定義は –

+0

ですか? –

+0

申し訳ありませんが、私は今それを修正しました。 –

答えて

5

をごmyArrayOne方法は、自分自身を呼び出します。これが無限再帰の問題です。

おそらく何を達成しようとしているされて
public static int myArrayOne() { 
     // that's the problem 
     return myArrayOne(); 
} 

// void --> List<Integer> 
// static 
public List<Integer> myArrayOne() { 
    ArrayList<Integer> packOfCards = new ArrayList<Integer>(); 
    Random rand = new Random(); 

    for (int j = 0; j<5; j++) 
    { 
     pick = rand.nextInt(10); 
     packOfCards.add(pick); 
    } 

    // myArrayOne(); --> packOfCards 
    return packOfCards; 
} 

public static void main(String[] args) { 
     myattributes attributes = new myattributes(); 
     List<Integer> values = attributes.myArrayOne(); 
} 
+0

はい別のクラスでそのメソッドを呼びたいのですが、メソッドの出力のみを投稿するにはどうしたらいいですか? –

+0

メソッドの出力はどのように考えますか?期待される結果がどのようなものであるべきかの例と、それをあなたの別のメソッドでどのように使用するのかを教えてください。 – Ivan

+0

私のメインメソッドクラスでメソッドを呼びたいので、arraylistに格納されている値を出力できます。 –

関連する問題