Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Vending Machine Simulation

Kayla Reyes, Viktor Karpenko, and Andrew Lee

SUNY Empire State University | Data Structures & Algorithms | Dr. Todd Wolfe

Overview

The Vending Machine Simulation is a Java application designed to demonstrate fundamental data structures, object-oriented programming principles, and software design concepts.

Users can browse available products, simulate purchases, process payments, and receive transaction feedback while the application manages inventory through modular Java classes.

Developed as part of the Data Structures & Algorithms course, this project emphasizes clean software architecture, maintainable code, and practical problem-solving.

Features

  • Browse available products
  • Simulate customer purchases
  • Process transactions
  • Manage inventory
  • Object-Oriented Java architecture
  • Demonstrates common data structure concepts

Data Structure Implementations

This project explores multiple approaches to solving the same vending machine problem while comparing their trade-offs in simplicity, scalability, and performance.

Implementation Search Complexity Notes
Array O(n) Simple, lightweight implementation
ArrayList O(n) Dynamic storage with improved flexibility
HashMap O(1)* Fast key-based lookups for scalable inventories

*Average-case lookup complexity.

Technologies

  • Java
  • Object-Oriented Programming (OOP)
  • Data Structures & Algorithms
  • IntelliJ IDEA
  • Git
  • GitHub

Project Structure

docs/
└── proposal.md

src/
├── Main.java
├── Item.java
└── VendingMachine.java

README.md
.gitignore

Running the Project

  1. Clone the repository
git clone https://github.com/kaylaereyes/vending-machine-simulation.git
  1. Open the project in IntelliJ IDEA

  2. Run the main Java class.

Preview

image image

Documentation

Project proposal:

📄 docs/proposal.md

Additional documentation may be added as the project evolves.

Contributors

  • Kayla Reyes
  • Viktor Karpenko
  • Andrew Lee

Acknowledgements

Created for the Data Structures & Algorithms course at SUNY Empire State University under the instruction of Dr. Todd Wolfe.

Project ideas, implementation, and design decisions were collaboratively developed by the project team.

About

A Java-based vending machine simulation demonstrating object-oriented programming, inventory management, and transaction processing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages