fork-commit-merge/fork-commit-merge

Fork, Commit, Merge - Easy Issue (Scala)

nikohoffren opened this issue · 0 comments

Fork, Commit, Merge - Easy Issue (Scala)

Scala Factorial Calculator

Note: You don't have ask permission to start solving the issue or get assigned, since these issues are supposed to be always open for new contributors. The actions-user bot will reset the file back to previous state for the next contributor after your commit is merged. So you can just simply start working with the issue right away!

Navigate to the tasks/scala/easy directory from the root of your project.

Then open a file called FactorialCalculator.scala.

Objective:

Write a Scala program to compute the factorial of a number provided by the user.

Requirements:

Prompt Input:

  • When the program runs, it should prompt the user to enter a number.
  • Ensure that the input is a non-negative integer. Handle invalid inputs gracefully by informing the user and prompting for a correct value.

Functionality:

  • The program must calculate the factorial of the provided number.
  • Factorial of 0 is 1.
  • Use recursion for the factorial calculation.

Display Output:

  • Once calculated, display the result in the format: Factorial of [number] = [result].

Error Handling:

  • If a user provides a negative number, or a non-numeric input, inform them of the error and prompt them to enter a valid input.

Clean Code:

  • Ensure the code is written cleanly, is well-organized, and includes comments explaining major sections or logic.
  • Variables and functions should have descriptive names.

Hints:

BigInt can be used in Scala to handle very large numbers, which is useful for factorial computations.


To run the program, first you need to compile the code using this command:

scalac tasks/scala/easy/FactorialCalculator.scala

That will create compiled file into the directory, which you can run with this command:

scala FactorialCalculator

If the program works as requested in the task, you are ready to make a pull request!


To work with this issue, you need to have Scala installed to your local machine.
Check out README.md for more instructions of installing Scala. Also there are detailed instructions of how to make a pull request.

Feel free to ask any questions here if you have some problems!

Also, kindly give this project a star to enhance its visibility for new developers!