--- title: "Jam 04 - All" tags: - 3 🧪 in testing - 4 🥳 done - jam04 - arrays - switch - control flow - gradle created: 2025-02-20 updated: 2025-02-20 prerequisites: - Previous jams: Jam00-03 completed - Tools: IntelliJ, Java 21, Git, Gradle - Concepts: Basic Java, Git fundamentals --- <!-- markdownlint-disable line-length single-h1 no-inline-html --> <!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } --> # Jam 04 - Arrays & Control Flow :::spoiler **Course Development Team** <center> <table width="100%"> <tr align="center"> <td width="50%"> <img src="https://www.dropbox.com/scl/fi/uz9dn7vc9y5k43160pdb0/Fun-Artsy-Square.png?rlkey=2zmgqgblwsagukfsb343tl3ye&raw=1" alt="Lily Romano" width="100" style="border-radius: 50%"/><br/> <a href="https://lilyromano.com">Lily Romano</a> </td> <td width="50%"> <img src="https://www.bucknell.edu/sites/default/files/styles/faculty_page_photo/public/libris/C00001GOQFVeT0YE/G0000hRJySpIobZY/20160419-7C8A4469.jpg" alt="Brian King" width="100" style="border-radius: 50%"/><br/> <a href="https://www.bucknell.edu/fac-staff/brian-king">Brian King</a> </td> </tr> </table> </center> ::: | | | | ---------------------- | ---------------------------------------- | | **Working Directory:** | `src/main/java/jam04` | | **Points:** | 10 pts | | **Team-based?** | NO (but discussion encouraged) | | **Due:** | Monday, 2025-Feb-20 @ 11:59 pm | # Objectives - Master Java's array syntax and operations - Implement control flow using the switch statement - Configure Gradle in IntelliJ for project management - Apply statistical concepts in programming - Practice input validation and error handling # Introduction & Outcomes Welcome to Jam 04! In this jam, you'll transition from basic Java syntax to more complex programming constructs. You'll work with arrays - Java's fundamental data structure for storing collections of values - and explore control flow using the switch statement. Through practical exercises involving a calculator and statistical analysis, you'll learn how these tools can solve real-world problems while gaining experience with professional development tools like Gradle and IntelliJ. ## What You'll Learn & Accomplish 1. **Project Setup & Build Tools** - Configure Gradle for project management - Set up proper project structure - Use build automation tools - **Outcome**: Create a professional-grade Java project with automated builds 2. **Control Flow & Input Processing** - Implement switch statements - Handle user input validation - Process complex expressions - **Outcome**: Build a robust calculator program with error handling 3. **Array Operations & Algorithms** - Master array manipulation - Implement recursive solutions - Analyze algorithmic efficiency - **Outcome**: Create a library of array utility methods 4. **Statistical Analysis** - Calculate statistical measures - Analyze data distributions - Work with enumerated types - **Outcome**: Develop a program that analyzes data skewness <!-- Embeds Jam04-Checklist.md --> {%hackmd xJuc3f6wQI-ePwPZ5ZzOOg %} # Getting Started Before diving into the exercises, let's set up our workspace: 1. Open IntelliJ 2. Create a directory `jam04` under `src/main/java` <!-- Embeds Jam04-Exercise1.md --> {%hackmd eLyEKqP7TLCQOtunO6UWRQ %} <!-- Embeds Jam04-Exercise2.md --> {%hackmd bUjJKCRQRb-KBqFW865qnA %} <!-- Embeds Jam04-Exercise3.md --> {%hackmd UaMuu4D3T12Trpu8Kfb2ug %} <!-- Embeds Jam04-Exercise4.md --> {%hackmd 8VbVzNvgR52ORUB90BSA0Q %} <!-- Embeds Jam04-Summary_Submission.md --> {%hackmd OwwFSsfnSiyhf4_BqMi6gg %}
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up