# pushkalll/s14-java-programs architecture

> Architecture diagram of the GitHub repository pushkalll/s14-java-programs, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/pushkalll/s14-java-programs
- Repository: https://github.com/pushkalll/s14-java-programs

## Overview

This repository is a collection of standalone Java learning exercises, not a single application. The common workflow is a user entering console input, an individual program applying a small calculation or control-flow exercise, and output appearing in the console. The ATM program adds PIN verification and a repeated account menu; the shipping-fee exercise separates tier, fee, and receipt methods within one program. There is no shared runtime layer or persistent store. The README is empty, and only selected sources were sampled, so unsampled exercises are represented by their topic and path without inferred connections.

Main entry points: [`PSPJ PROJECT/ATMWithdrawal.java`](https://github.com/pushkalll/s14-java-programs/blob/main/PSPJ%20PROJECT/ATMWithdrawal.java) (ATM menu), [`Assignment_1/StudentMarks.java`](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/StudentMarks.java) (Student marks), [`Assignment_2/PrimeNumber.java`](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_2/PrimeNumber.java) (Prime check), [`Theory/Search.java`](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Search.java) (Array search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Fundamentals"]
  node_ascii["ASCII values<br/>[ASCII_Values.java]"]
  node_alphabets["Alphabets<br/>[Alphabets.java]"]
  node_temperature["Temperature<br/>[Temperature.java]"]
  node_traffic["Traffic lights<br/>[TrafficLights.java]"]
  node_salary["Gross salary<br/>[GrossSalary.java]"]
  node_marks["Student marks<br/>[StudentMarks.java]"]
  node_distance["Vehicle distance"]
  node_tablefor["For-loop table<br/>[TableFor.java]"]
  node_tablewhile["While-loop table<br/>[TableWhile.java]"]
  node_largest["Largest of three<br/>[LargestAmong3.java]"]
  node_loops["Loop exercises<br/>[Loops.java]"]
  node_switchcase["Switch exercises<br/>[Switchcase.java]"]
  node_switchon["Switch exercises<br/>[SwitchOfOn.java]"]
  node_samplepaper["Sample paper<br/>[SamplePaper.java]"]
end

subgraph group_algorithms["Algorithms"]
  node_factorial["Factorial<br/>[Factorial.java]"]
  node_fibonacci["Fibonacci series"]
  node_prime["Prime check<br/>[PrimeNumber.java]"]
  node_reverse["Reverse number<br/>[ReverseNum.java]"]
  node_armstrong["Armstrong number<br/>[Armstrong.java]"]
  node_palindrome["Palindrome<br/>[Palindrome.java]"]
  node_perfect["Perfect number<br/>[PerfectNum.java]"]
  node_recursion["Recursive factorial<br/>[Recursion.java]"]
  node_power["Power calculation<br/>[Power.java]"]
  node_recursiontheory["Recursion exercises<br/>[Recursion.java]"]
end

subgraph group_arrays["Arrays"]
  node_search["Array search<br/>[Search.java]"]
  node_even["Even numbers<br/>[EvenNumbers.java]"]
  node_copy["Copy elements<br/>[CopyElements.java]"]
  node_arraytheory["Array exercises<br/>[Arrays.java]"]
  node_arraytheory1["Array exercises<br/>[Arrays1.java]"]
end

subgraph group_applications["Applications"]
  node_atm["ATM menu<br/>[ATMWithdrawal.java]"]
  node_account["Account operations<br/>[ATMWithdrawal.java]"]
  node_shipping["Shipping fee<br/>[Methods.java]"]
end

node_user(("User"))
node_console(("Console I/O"))

node_user -->|"runs"| node_ascii
node_user -->|"runs"| node_alphabets
node_user -->|"runs"| node_temperature
node_user -->|"runs"| node_traffic
node_user -->|"runs"| node_salary
node_user -->|"runs"| node_marks
node_user -->|"runs"| node_distance
node_user -->|"runs"| node_tablefor
node_user -->|"runs"| node_tablewhile
node_user -->|"runs"| node_largest
node_user -->|"runs"| node_factorial
node_user -->|"runs"| node_fibonacci
node_user -->|"runs"| node_prime
node_user -->|"runs"| node_reverse
node_user -->|"runs"| node_armstrong
node_user -->|"runs"| node_palindrome
node_user -->|"runs"| node_perfect
node_user -->|"runs"| node_recursion
node_user -->|"runs"| node_search
node_user -->|"runs"| node_even
node_user -->|"runs"| node_copy
node_user -->|"runs"| node_atm
node_user -->|"runs"| node_shipping
node_atm -->|"calls"| node_account
node_shipping -->|"reads input"| node_console
node_shipping -->|"prints receipt"| node_console
node_atm -->|"reads input"| node_console
node_atm -->|"prints menu"| node_console
node_account -->|"prints account result"| node_console
node_search -->|"reads query"| node_console
node_search -->|"prints result"| node_console
node_prime -->|"reads number"| node_console
node_prime -->|"prints result"| node_console
node_marks -->|"reads marks"| node_console
node_marks -->|"prints grade"| node_console
node_even -->|"reads values"| node_console
node_even -->|"prints evens"| node_console

click node_ascii "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/ASCII_Values.java"
click node_alphabets "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Alphabets.java"
click node_temperature "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Temperature.java"
click node_traffic "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TrafficLights.java"
click node_salary "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/GrossSalary.java"
click node_marks "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/StudentMarks.java"
click node_distance "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/DistanceByVehicle.java"
click node_tablefor "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TableFor.java"
click node_tablewhile "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TableWhile.java"
click node_largest "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/LargestAmong3.java"
click node_factorial "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Factorial.java"
click node_fibonacci "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/FibbonaciSeries.java"
click node_prime "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_2/PrimeNumber.java"
click node_reverse "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/ReverseNum.java"
click node_armstrong "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/Armstrong.java"
click node_palindrome "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/Palindrome.java"
click node_perfect "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/PerfectNum.java"
click node_recursion "https://github.com/pushkalll/s14-java-programs/blob/main/PBL/Recursion.java"
click node_search "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Search.java"
click node_even "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/EvenNumbers.java"
click node_copy "https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/CopyElements.java"
click node_arraytheory "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Arrays.java"
click node_arraytheory1 "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Arrays1.java"
click node_atm "https://github.com/pushkalll/s14-java-programs/blob/main/PSPJ%20PROJECT/ATMWithdrawal.java"
click node_account "https://github.com/pushkalll/s14-java-programs/blob/main/PSPJ%20PROJECT/ATMWithdrawal.java"
click node_shipping "https://github.com/pushkalll/s14-java-programs/blob/main/PBL/Methods.java"
click node_loops "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Loops.java"
click node_power "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Power.java"
click node_switchcase "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Switchcase.java"
click node_switchon "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/SwitchOfOn.java"
click node_recursiontheory "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Recursion.java"
click node_samplepaper "https://github.com/pushkalll/s14-java-programs/blob/main/Theory/SamplePaper.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ascii,node_alphabets,node_temperature,node_traffic,node_salary,node_marks,node_distance,node_tablefor,node_tablewhile,node_largest,node_loops,node_switchcase,node_switchon,node_samplepaper,node_user toneBlue
class node_factorial,node_fibonacci,node_prime,node_reverse,node_armstrong,node_palindrome,node_perfect,node_recursion,node_power,node_recursiontheory toneAmber
class node_search,node_even,node_copy,node_arraytheory,node_arraytheory1 toneMint
class node_atm,node_account,node_shipping toneRose
class node_console toneIndigo
```

## Components

### Fundamentals

- [ASCII values](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/ASCII_Values.java): `Assignment_1/ASCII_Values.java`
- [Alphabets](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Alphabets.java): `Assignment_1/Alphabets.java`
- [Temperature](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Temperature.java): `Assignment_1/Temperature.java`
- [Traffic lights](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TrafficLights.java): `Assignment_1/TrafficLights.java`
- [Gross salary](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/GrossSalary.java): `Assignment_1/GrossSalary.java`
- [Student marks](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/StudentMarks.java): `Assignment_1/StudentMarks.java`
- [Vehicle distance](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/DistanceByVehicle.java): `Assignment_1/DistanceByVehicle.java`
- [For-loop table](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TableFor.java): `Assignment_1/TableFor.java`
- [While-loop table](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/TableWhile.java): `Assignment_1/TableWhile.java`
- [Largest of three](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/LargestAmong3.java): `Assignment_1/LargestAmong3.java`
- [Loop exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Loops.java): `Theory/Loops.java`
- [Switch exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Switchcase.java): `Theory/Switchcase.java`
- [Switch exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/SwitchOfOn.java): `Theory/SwitchOfOn.java`
- [Sample paper](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/SamplePaper.java): `Theory/SamplePaper.java`

### Algorithms

- [Factorial](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/Factorial.java): `Assignment_1/Factorial.java`
- [Fibonacci series](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/FibbonaciSeries.java): `Assignment_1/FibbonaciSeries.java`
- [Prime check](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_2/PrimeNumber.java): `Assignment_2/PrimeNumber.java`
- [Reverse number](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_1/ReverseNum.java): `Assignment_1/ReverseNum.java`
- [Armstrong number](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/Armstrong.java): `Assignment_3/Armstrong.java`
- [Palindrome](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/Palindrome.java): `Assignment_3/Palindrome.java`
- [Perfect number](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/PerfectNum.java): `Assignment_3/PerfectNum.java`
- [Recursive factorial](https://github.com/pushkalll/s14-java-programs/blob/main/PBL/Recursion.java): `PBL/Recursion.java`
- [Power calculation](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Power.java): `Theory/Power.java`
- [Recursion exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Recursion.java): `Theory/Recursion.java`

### Arrays

- [Array search](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Search.java): `Theory/Search.java`
- [Even numbers](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/EvenNumbers.java): `Assignment_3/EvenNumbers.java`
- [Copy elements](https://github.com/pushkalll/s14-java-programs/blob/main/Assignment_3/CopyElements.java): `Assignment_3/CopyElements.java`
- [Array exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Arrays.java): `Theory/Arrays.java`
- [Array exercises](https://github.com/pushkalll/s14-java-programs/blob/main/Theory/Arrays1.java): `Theory/Arrays1.java`

### Applications

- [ATM menu](https://github.com/pushkalll/s14-java-programs/blob/main/PSPJ%20PROJECT/ATMWithdrawal.java): `PSPJ PROJECT/ATMWithdrawal.java`
- [Account operations](https://github.com/pushkalll/s14-java-programs/blob/main/PSPJ%20PROJECT/ATMWithdrawal.java): `PSPJ PROJECT/ATMWithdrawal.java`
- [Shipping fee](https://github.com/pushkalll/s14-java-programs/blob/main/PBL/Methods.java): `PBL/Methods.java`

### Other components

- **User**
- **Console I/O**

## Connections

- User → ASCII values: runs
- User → Alphabets: runs
- User → Temperature: runs
- User → Traffic lights: runs
- User → Gross salary: runs
- User → Student marks: runs
- User → Vehicle distance: runs
- User → For-loop table: runs
- User → While-loop table: runs
- User → Largest of three: runs
- User → Factorial: runs
- User → Fibonacci series: runs
- User → Prime check: runs
- User → Reverse number: runs
- User → Armstrong number: runs
- User → Palindrome: runs
- User → Perfect number: runs
- User → Recursive factorial: runs
- User → Array search: runs
- User → Even numbers: runs
- User → Copy elements: runs
- User → ATM menu: runs
- User → Shipping fee: runs
- ATM menu → Account operations: calls
- Shipping fee → Console I/O: reads input
- Shipping fee → Console I/O: prints receipt
- ATM menu → Console I/O: reads input
- ATM menu → Console I/O: prints menu
- Account operations → Console I/O: prints account result
- Array search → Console I/O: reads query
- Array search → Console I/O: prints result
- Prime check → Console I/O: reads number
- Prime check → Console I/O: prints result
- Student marks → Console I/O: reads marks
- Student marks → Console I/O: prints grade
- Even numbers → Console I/O: reads values
- Even numbers → Console I/O: prints evens
