Learn Java

Welcome to the Learn Java repository! This repository contains my solutions, practice projects, and notes as I learn Java. The exercises cover a variety of topics, from basic syntax to object-oriented programming and algorithmic challenges.


Repository Structure

This repository is organized into folders and files, each corresponding to a different exercise or project. Many exercises are inspired by the Exercism Java track, as well as custom problems for deeper learning. Example files include:

  • Greeter.java — A simple "Hello, World!" example.
  • Students.java — A project to manage student grades, demonstrating input handling, classes, lists, and calculations.
  • String_matching.java — An example of implementing a string matching algorithm in Java.
  • GreeterTest.java — Example of using JUnit for unit testing.

Each directory or file contains the code solution, and may include additional notes or resources.


Getting Started

To get started with this repository:

  1. Clone the Repository

    git clone https://github.com/Hakim-CS/Learn-Java.git
  2. Navigate to the Project Folder

    cd Learn-Java
  3. Review Exercise Instructions

    • Read any comments or documentation at the top of each file for instructions.
    • Refer to Exercism Java for problem descriptions if applicable.
  4. Write and Test Your Solutions

    • Implement or modify solutions in the Java files.
    • Run and test your code:
      javac FileName.java
      java FileName
    • For unit tests, ensure you have JUnit and run:
      java -cp .:junit-platform-console-standalone-1.7.0.jar org.junit.runner.JUnitCore GreeterTest
  5. Contribute

    • Feel free to submit pull requests with improvements or new exercises!

Contributing

Contributions are welcome! If you have suggestions, improvements, or additional exercises, please open an issue or submit a pull request.

Steps to contribute:

  • Fork the repository.
  • Create a new branch for your feature.
  • Commit your changes with clear messages.
  • Open a pull request.

License

This project is open source and available under the MIT License (or specify your license here).


Happy coding! 🚀