なぜこのエラーが発生し続けるのか理解できないようです! キューを扱うのは初めてです。解決策は簡単で、おそらく基本的なものが欠けていると思います。ガイダンス/ヘルプは大歓迎です:
import java.util.LinkedList;
import java.util.Queue;
public class Josephus{
public static void main(String[] args)
{
int n = Integer.parseInt(args[0]),
m = Integer.parseInt(args[1]);
Queue<Integer> q = new LinkedList<Integer>();
for (int i = 0; i < n; i++)
q.remove(new Integer(i));
int k = 0;
while (!q.isEmpty())
{
int x = q.remove();
if (++k % m == 0)
System.out.print(x + " ");
else
q.remove(x);
System.out.println(x + " ");
}
}
}
このコードの元のプロンプトは次のとおりです。 Josephus 問題。古代からのヨセフス問題では、N 人は窮地に立たされており、人口を減らすための次の戦略に同意しています。彼らは円を描いて (0 から N-1 までの番号が付けられた位置に) 配置され、円の周りを進み、1 人だけになるまで M 番目の人を排除します。伝説によると、ヨセフスは排除されるのを避けるためにどこに座るかを考え出しました。コマンド ラインから N と M を取得し、人々が排除される順序を出力する Queue クライアント Josephus を作成します (したがって、Josefus がサークル内のどこに座るかを示します)。