2013-02-18 81 views
0

首先,我不要求任何人做任何事情,只需要一点帮助,以布尔值修复这个错误。我把错误,但程序停止。我得到了两个部分的程序。在那里我做了计算布尔错误(FibonacciNumbers)

第一部分:

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;它只是停止结束。我希望它继续下去。

+1

请编辑问题,以便您的代码格式正确 - 无论是缩进还是删除大量无意义的空白行。 – 2013-02-18 20:00:27

回答

1

试着把你的try catch语句放在while循环中。