数字が正しくスキャンされていますが、方法が正しく機能していません。最初のものは何もせず、2番目のものは無限ループに入ります。メソッドが正しく動作しないのはなぜですか?
呼び出されたメソッドが正しく機能していません。私は何をすべきか分かりません。
import java.util.Scanner;
public class testSequence {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter a number: ");
int enterNumber = scan.nextInt();
System.out.println("1 for Iteration, 2 for Recursion: ");
int type = scan.nextInt();
if (type == 1){
computeIteration(enterNumber);
} else if (type == 2){
computeRecursion(enterNumber);
}
}
public static int computeIteration(int enterNumber) {
int answer;
int multiplier = 1;
int count = 0;
int addend = 0;
if (enterNumber == 0) {
count++;
return enterNumber;
} else if (enterNumber == 1) {
count++;
return enterNumber;
} else {
for (int i = 0; i <= enterNumber; i++) {//need to adjust "i" for counter correction
enterNumber = (multiplier * 2) + addend;
addend = multiplier;
multiplier = enterNumber;
count += 1;
}//end for loop
answer = enterNumber;
}//end else
return answer;
}//end computeIteration
public static int computeRecursion(int n) {
int count = 0;
if (n == 0) {
count++;
return 0;
} else if (n == 1) {
count++;
return 1;
} else {
count++;
return computeRecursion(2 * (n - 1)) + computeRecursion(n - 2);
}
}//end computerRecursion()
}//end Sequence()
私はあなたが 'computeIteration'を呼び出しているのを見ましたが、あなたは結果を何もしません。それは問題の一部になるかもしれませんか? – ajb
あなたは両方の方法でいくつかの場所で "カウント"を増やしていますが、あなたはそれを使用しません。 – Murillio4
Murillio4私はそれを知っています、ありがとう。私は、なぜこの方法が正しく機能していないのか、さらに懸念しています。 @ajbそれは返事を返すと思われますが、答えは全く表示されません。 – platypus87