Skip to content

Create Your Own Analyzer

Instructions

Do you have an idea for an analyzer? Are you wondering how many times the letter "J" appears in the file? Or perhaps, you want to find the longest word in the file?

Whatever your idea, build it and validate that it works.

Commit History

Make sure to commit frequently to maintain a clear, well-documented history of your process and progress throughout the challenge.


Submission

    1. Take a screenshot(s) of the analyzer output.

    2. Name the screenshot myAnalyzer.png (if multiple outputs are generated append a number to each .png)

    3. Save it to the screenshots/challenges directory
  1. Push your code to GitHub

  2. Create an issue and name it "Challenge - New Analyzer".

  3. Reflect on this challenge: Copy the below text and paste it into the "Add a description" textarea.

    @kkschumacher
    
    1. What is the purpose of your analyzer? How does it work?
    
    2. What resources did you use to complete this challenge?
    
    3. What does your commit history look like for this challenge? Does it clearly show your process and progress?
    
    4. What did you learn by completing this challenge?
    


Rubric

All of the following must be satisfied to achieve a "Met" status

  • Screenshots: Screenshot clearly shows expected output.
  • Debugging & Problem-Solving: Code is free from errors.
  • Code Quality: Code is exceptionally clean, efficient, and maintainable. Follows best practices, coding standards, and programming principles.
  • Properties: The properties have been used in the application in place of hard-coded values.
  • Java IO: Correct Java IO classes are used to read and write data to files.
  • Exception Handling: Exception handling is used correctly throughout the application, including providing user-friendly error messages. Try-with-resources is implemented correctly.
  • Collections: The appropriate concrete implementation of the Collections interface is used, such as Sets and Lists.
  • Functionality: The analyzer provides the correct output.
  • Code Documentation: All classes, methods, instance variables, and constructors are thoroughly documented with accurate descriptions and proper JavaDoc comments.
  • External Sources: External sources (websites, classmates, AI tools, etc), if utilized, are referenced and documented within the code as comments.