Java 布尔错误(FibonacciNumbers)
首先,我不是要求任何人做任何事情,只是需要一点帮助来修复布尔错误。我输入false,但程序停止。我有两个节目 我进行计算的第一部分:Java 布尔错误(FibonacciNumbers),java,Java,首先,我不是要求任何人做任何事情,只是需要一点帮助来修复布尔错误。我输入false,但程序停止。我有两个节目 我进行计算的第一部分: class FibonacciNumbers { FibonacciNumbers() {} //default constructor public int fOf(int n) { if (n == 0) //the base case { return 0; } el
class FibonacciNumbers {
FibonacciNumbers() {} //default constructor
public int fOf(int n) {
if (n == 0) //the base case
{
return 0;
} else if (n == 1) {
return 1;
} else {
return fOf(n - 1) + fOf(n - 2);
}
}
}
第二,主要方法是:
import java.util.*;
public class FibonacciNumbersTesters {
public static void main(String[] args) {
FibonacciNumbers fNumbers = new FibonacciNumbers(); //creates new object
Scanner in = new Scanner(System.in);
String again;
String test;
boolean IsRepeat = true;
boolean isQuit;
try {
isQuit = false;
while (!isQuit) {
System.out.print("Enter the number you want to convert to Fibanocci('q' to quit): ");
int n = in.nextInt();
System.out.print("The Fibanocci number for " + n + " is: ");
n = fNumbers.fOf(n);
System.out.println(n);
System.out.print("Do you want to run again? (Y or N): ");
again = in.next();
if (again.equalsIgnoreCase("N")) {
System.out.println("Thank you! Please terminate the program by entering 'Q' or 'q' OR you can cotinue by entering anything else: ");
String toQuit = in.next();
if ((toQuit.charAt(0) == 'q') || (toQuit.charAt(0) == 'Q')) {
System.out.println("Good-bye!");
isQuit = true;
}
} else {
IsRepeat = true;
}
}
} catch (InputMismatchException ex) {
test = in.nextLine();
if ((test.charAt(0) == 'q') || (test.charAt(0) == 'Q')) {
System.out.println("Good-bye!");
isQuit = true;
} else {
System.out.println("Invalid input!");
System.out.println("Try again! ");
isQuit = false;
}
}
}
}
这部分我把
isQuit=false代码>在最后,它只是停止。我希望它继续。尝试将Try-catch语句放在while循环中。请编辑问题,使您的代码格式正确-包括缩进和删除大量无意义的空行。