これは深刻な混乱とイライラです。私は既にこの同じプログラムに関して1つの質問をしましたhere。そのコードを外して、私はStackにもう一つの問題があります。ここでスタックのアレイを使用している方法は、以前のポストから、ブロックと呼ばれる。オブジェクトがなくてもスタックが空に戻らない
static void pileOnto(int sBlock, int rBlock)
{
boolean flag = true;
while ((!blocks[rBlock].empty()) && (flag))
{
retainer.push((Integer)blocks[sBlock].pop());
if (((Integer)blocks[rBlock].peek()).intValue() == sBlock) {flag = false;}
}
while (((Integer)blocks[rBlock].peek()).intValue() != rBlock)
{
returnBlock(((Integer)blocks[rBlock].pop()).intValue());
}
}
最初のスタックは、それがポップ最後の整数が同じであった場合に空である場合、またはループのいずれかすべき端ながらsBlockとして私が抱えている問題は、ブロック[rBlock] .empty()は、プログラムがブロック[rBlock]のポップアウトからクラッシュしても、スタックに何も存在しない場合でもtrueを返さないということです。誰かが私に何が起こっているか説明してもらえますか?
ジェネリック、アンボックス、ブラケットを削除したり、コードを読みやすくするために 'break'を使うことはできません。 –