実装しようとしているメソッドの再帰を使用する必要があります。問題は再帰ですが、私は思ったとおりに動作していません。私が持っているコードは次のとおりです。再帰で何が問題になっていますか?
public void printer(int level) {
System.out.println("A Car " + getId());
for (int j=0; j< carTypes.size(); j++) {
carTypes.get(j).printer(Index.get(j)+1);
if (carTypes.get(j) instanceof Toyota) {
level = 1;
}
else {
level = 1;
for (int i = 0; i <= j; i++){
if (j == Index.size()-1)
break;
if (Index.get(i) == Index.get(j+1)) {
number++;
}
}
}
System.out.println("Is recursion working right?");
}//End of for loop
}
私が午前問題は、私はそのcarTypes.get後のすべてが(j)を.printer(index.GETを(J)+1)期待していたです。無視され、メソッドはループされます。私はこれが起こるかどうかを知っている、私は私のforループに対処する別のものを見つける必要がありますが、今のところ、私はちょうど再帰が働きたい。私が提供した情報が十分であるかどうかは完全にはわかりません。もっと必要な情報があれば、もっと喜んで情報を提供してください。
おかげ
で
を交換してください –
私は、いくつかのタスクが1つの方法に混乱していると感じています。代わりに、単一の車を印刷する方法を知っている低レベルのメソッドと、一度に1つずつ、多くの車で低レベルのメソッドを呼び出す方法を知っている高水準のメソッドを用意する必要がありますか? – sarnold
私は基本的にはEclipseのデバッグパースペクティブをオープンしています(私はプログラミングにはまだまだ新規です)。何が起こっているのか正確に見てみましたが、それでも私に何か具体的な理由はありませんでした。 。 – Ester