2016-09-20 4 views
-2

IntStackオブジェクトが空になるまで、そのアイテムをすべて削除して印刷する方法がわかりません。 if文を使用する必要がありますか?私はスタックの基本を知っています。たとえば、 sがIntStackオブジェクトを参照しているとします。IntStackオブジェクトが空になるまで、すべてのアイテムを削除して印刷するにはどうすればよいですか?

私はSの先頭に値100を追加したい場合は、私は単に私がSのトップ値を削除して印刷したい場合は、私ならば、私はs.pop()

を使用することになりs.push(100)

を使用するにはs.peek()

空になるまで、すべてのアイテムを削除して印刷しようとすると、問題に遭遇します。スタック内の何もないときAssumming

+0

'IntStack'は標準のJDKクラスではありません。どのライブラリを使用していますか? – shmosel

+0

あなたはどんな問題にぶつかりますか? – immibis

答えて

1

を返します。メソッド、ので、次のように動作する必要があります。

public void print(Stack s) 
{ 
    while(!s.isEmpty()) 
    { 
     System.out.println(s.pop()); 
    } 

} 
+0

なぜ 'System.out.println(s.pop())'はありませんか? – shmosel

+0

@shmosel私は同じことを編集していました、ありがとう。 – JTeam

+0

@JTeam "!" (!s.isEmpty)で行うのですか? –

-1

、s.peekは()それはすべての標準スタックを実装して問題の説明どおりにInStackは、いくつかのサードパーティ製のスタックされた場合でもnull

while(s.peek() != null){ 
    System.out.println(s.pop()); 
} 
+0

'IntStack'がどんなものであれ、おそらくプリミティブを保持しています。 – shmosel

関連する問題