Advertisement
Stelios_Gakis

Seminar_2/Task_9

Sep 28th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.26 KB | None | 0 0
  1. package Seminar_2;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Task_9 {
  6.  
  7.     public static void main(String[] args) {
  8.  
  9.         Scanner in = new Scanner(System.in);
  10.  
  11.         Task_9 myApp = new Task_9();
  12.  
  13.         boolean exit = false;
  14.  
  15.         while (!exit) {
  16.             System.out.printf("%n1. Calculate all integers up to the position of X%n2. Calculate X position on the fibonacci sequence%nChoice : ");
  17.             int choice = in.nextInt();
  18.             if (choice == 1) {
  19.                 System.out.printf("%nCalculates and prints X numbers in the fibonacci sequence%nEnter X : ");
  20.                 int numberToBeCalculated = in.nextInt();
  21.                 if (numberToBeCalculated >= 3) {
  22.                     myApp.fibonacciCalculationAll(numberToBeCalculated);
  23.                 } else if (numberToBeCalculated == 2) {
  24.                     System.out.println("1 1");
  25.                 } else if (numberToBeCalculated == 1) {
  26.                     System.out.println("1");
  27.                 } else {
  28.                     System.out.println("Please enter a valid answer next time.");
  29.                 }
  30.             } else if (choice == 2) {
  31.                 System.out.printf("%nCalculates X position in the fibonacci sequence%nEnter X : ");
  32.                 int numberToBeCalculated = in.nextInt();
  33.                 if (numberToBeCalculated >= 3) {
  34.                     myApp.fibonacciCalculationOne(numberToBeCalculated);
  35.                 } else if (numberToBeCalculated == 2) {
  36.                     System.out.println("1");
  37.                     System.out.println("The number in the position " + 2 + " in the fibonacci sequence is : " + 1);
  38.                 } else if (numberToBeCalculated == 1) {
  39.                     System.out.println("1");
  40.                     System.out.println("The number in the position " + 1 + " in the fibonacci sequence is : " + 1);
  41.                 } else {
  42.                     System.out.println("Please enter a valid answer next time.\n");
  43.                 }
  44.             } else if (choice == 3) {
  45.                 exit = true;
  46.                 System.out.println("Have a nice day");
  47.             } else {
  48.                 System.out.println("Please enter a valid choice");
  49.             }
  50.         }
  51.     }
  52.  
  53.     private long fibonacciCalculationAll(int numberOfCalculations) {
  54.         numberOfCalculations -= 2;
  55.         long number = 1;
  56.         long lastNumber = 1;
  57.         long doubleLastNumber = 1;
  58.         System.out.print("1 1 ");
  59.         for (int i = 0; i < numberOfCalculations; i++) {
  60.             doubleLastNumber = lastNumber;
  61.             lastNumber = number;
  62.             number = lastNumber + doubleLastNumber;
  63.             System.out.printf("%d ", number);
  64.         }
  65.         System.out.println();
  66.         return number;
  67.     }
  68.  
  69.     private void fibonacciCalculationOne(int numberOfCalculations) {
  70.         numberOfCalculations -= 2;
  71.         long number = 1;
  72.         long lastNumber = 1;
  73.         long doubleLastNumber = 1;
  74.         for (int i = 0; i < numberOfCalculations; i++) {
  75.             doubleLastNumber = lastNumber;
  76.             lastNumber = number;
  77.             number = lastNumber + doubleLastNumber;
  78.         }
  79.         System.out.printf("The number in the position %d in the fibonacci sequence is : %d%n", numberOfCalculations+2, number);
  80.     }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement