Simple Elevator Program

As of recent, I kinda got bored and decided to make a simple elevator program using recursion. What is recursion? Recursion is calling a method inside of itself. It's like a cycle. The water cycle, per se. Rain falls, evaporates, falls again.

    // This is the method that we will be using. 
    public static void NextFloor(int num) {
 
        // Always ask the user where they would like to go.
        System.out.println("Now where would you like to go?");

        // Get the next location
        int nextFloor = scanner.nextInt();

        // Inform the user that we are moving
        System.out.println("Going to floor " + nextFloor + " from floor " + num);

        // We can now call the method and start recursioning! (is that even a word?)
        NextFloor(nextFloor);
    }

As you can see, we are calling NextFloor inside of itself. But what I triggering the method to start? In our main method of course.

// Import the scanner so that we can take in user input
import java.util.Scanner;

//Our basic starter
public class Elevator {
  
    // Make our scanner public so that we can call it in more than one method!
    public static Scanner scanner = new Scanner(System.in); 

    // Our Main Method - where we will be calling the function
    public static void main(String[] args) {

        // Ask the user where they would like to go.
        System.out.println("Which floor would you like to go to?");

        // Get the floor they want to go to.
        int floor = scanner.nextInt();
                
        // Its safe to assume the user is starting on the first floor.
        int currentFloor = 0;
            
        // Let the user know we are moving!
        System.out.println("Now moving to floor " + floor + " from floor " + currentFloor);

        // We could ignore this part and just say "NextFloor(floor) but your choice.
                currentFloor = floor;

        // Now we can call the method 
        NextFloor(currentFloor);
    }

Now that we have everything we needed defined, lets put it all together!

import java.util.Scanner;
public class Elevator {
    public static Scanner scanner = new Scanner(System.in); 
    public static void main(String[] args) {
        System.out.println("Which floor would you like to go to?");
        int floor = scanner.nextInt();
        Boolean isMoving = true;
        int currentFloor = 0;
        System.out.println("Now moving to floor " + floor + " from floor " + currentFloor);
        currentFloor = floor;
        NextFloor(currentFloor);
    }
    public static void NextFloor(int num) {
        System.out.println("Now where would you like to go?");
        int nextFloor = scanner.nextInt();
        System.out.println("Going to floor " + nextFloor + " from floor " + num);
        NextFloor(nextFloor);
    }
}

Now, I challenge thee to make it better, detect when its moving, where its at while its moving, and maybe add a cooldown!

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center