Welcome to my collection of Java projects! This repository contains a variety of examples designed to help learners understand core concepts of Java programming through hands-on practice. Each folder focuses on a fundamental topic, complete with code implementations, test methods, and explanations. These projects cover essential topics in beginner Java development.
- 🔢 Array List
- 💬 Chat Room
- 🎨 JavaFX
- 🎲 Monte Carlo Simulations
- 🏦 Mortgage Server
- 🔄 Queue (Linked List Implementation)
- ✂️ String Manipulation
- 📖 Word Dictionary
- 🚀 How to Run the Projects
- 🙌 Contributions
This project features a custom implementation of an ArrayList
using standard arrays. By building an array list from scratch, you'll gain a deeper understanding of how dynamic arrays work under the hood, including resizing and memory management. It also includes a test class to validate the functionality of the custom list.
Learn the basics of Java networking with this chat room project. It demonstrates how to set up a server-client architecture that allows multiple clients to connect and chat in real time. This is a great introduction to:
- Multi-threading 🧵
- Socket programming 🔌
- Network communication 🌐
This folder showcases the basics of JavaFX, Java’s GUI toolkit for creating modern desktop applications. You'll learn:
- Drawing shapes (rectangles, circles, etc.) 🟦
- Handling basic graphical events 🖱️
- Creating interactive and visually appealing interfaces 🎭
Explore the power of randomness with Monte Carlo simulations. These projects help estimate probabilities through repeated random sampling, a technique widely used in:
- Finance 📈
- Physics ⚛️
- Artificial intelligence 🤖
A client-server application that reimagines the classic mortgage calculator. Here's how it works:
- The client sends mortgage data to the server.
- The server applies the mortgage formula.
- The result is sent back to the client.
This project reinforces:
- Client-server communication 🌐
- Serialization 📦
- Network programming concepts ⚡
Dive into data structures by implementing a Queue
using linked lists. This project will help you master:
- Enqueue and dequeue operations ➡️⬅️
- Managing dynamic memory 💾
- Understanding pointers in Java 🔗
A series of exercises focusing on string operations. Learn to:
- Reverse strings 🔄
- Format text 📏
- Perform pattern matching 🔍
A simple dictionary application that demonstrates:
- Class creation and object-oriented principles 🔧
- Storing words and their definitions 📘
- Basic CRUD (Create, Read, Update, Delete) operations 📝
- Install the latest Java Development Kit (JDK).
- Clone this repository:
git clone https://github.com/onlyriley/BeginnerJavaProjects.git
If you have any small Java projects that helped you, or if you want to improve on these existing projects, you can contribute by:
- Creating a new branch
- Submitting a pull request