これは私のプログラミングIIクラスの段階的割り当てです。私は一般的に新しいプログラミングの概念を非常に簡単に受け入れてきましたが、再帰に関するこの特定の割り当ては本当に私を投げています。正しい方向にいくつかの良い振る舞いを探しています。以下は、私が現在持っている譲渡慣習とコードです。宿題:Javaでのマジック植物再帰演習
マジック工場
我々はそれが植えされると、それは最初の年に2葉が発芽し、成長する魔法の植物を持っています。それは3年毎にその葉を3倍にすることを除いて毎年その葉を倍増させる。ような何か:
は、次のメソッドが含まれMagicPlantというクラスを書く:
- 植物の年齢
- 不特定の葉の数を返すメソッドを - 葉数を指定して植物の年齢を返す再帰的なメソッド。
- 葉の数を指定して、植物の年齢を返す再帰的なメソッド。
ドライバクラスでは、メソッドをテストします。
アルゴリズムとデータ構造で処理できる最大(最古の)プラントは何ですか。
私が与えられたと私は二番目に泥だらけの最後の箇条書きのトラブルだけでなく、ビットを抱えているものです
(しかし、私は仕事に思えるのコードを持っています)。
それだけで文を呼び出していますので、ドライバクラスを除く私の現在のコード:
public class MagicPlant {
// Method that returns the number of leaves given
// the age of the plant.
public int getLeaves(int age) {
int leafCount = 1;
for (int i = 1; i <= age; i++) {
if (i % 3 != 0) {
leafCount *= 2;
} else {
leafCount *= 3;
}
}
return leafCount;
}
// Non-recursive method that returns the age of the plant
// given the number of leaves.
public int getAgeNR(int leaves) {
int age = 1;
while (leaves > getLeaves(age)) {
age++;
}
return age;
}
// Recursive method that returns the age of the plant
// given the number of leaves.
public int getAgeR(int leaves) {
return 0;
}
}
、我々はこの演習に精通している信じられないかもしれません:
また、私はあなたが再帰のための2つの方法が作ることを示唆しています。ここ数日で少なくとも2回前に質問がポップアップしています。 – Kayaman
@Kayaman非常によく私のクラスから来るかもしれない。ハハ。私は検索から何も見つかりませんでした。 – Aphemra
年齢に直接当てはまらない数字をあてるとどうなりますか? – Lino