Я правильно отсканировал число, но методы не работают правильно. Первый ничего не делает, а второй - в бесконечный цикл.Почему метод не действует «правильно?»
Вызывается метод неправильно. Я не уверен что делать.
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