You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: JavaCodeVisualizer_VersionHistory.md
+93-2Lines changed: 93 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Java Code Visualizer — Version History
2
2
3
-
## Development Timeline (May 23–28, 2026)
3
+
## Development Timeline (May 23–31, 2026)
4
4
5
5
This document lists every version of `JavaCodeVisualizer.jsx` produced during the iterative development process, along with the changes made in each version.
6
6
@@ -186,7 +186,7 @@ Fixed two expression evaluator bugs that caused Bubble Sort to produce unsorted
186
186
187
187
---
188
188
189
-
### v14.0 (Final) — Example Programs Renamed with Descriptive Class Names
189
+
### v14.0 — Example Programs Renamed with Descriptive Class Names
190
190
**Lines:**~2,928 | **Date:** May 28, 2026
191
191
192
192
Replaced `public class Main` in all 8 built-in example programs with descriptive class names.
@@ -206,6 +206,93 @@ Replaced `public class Main` in all 8 built-in example programs with descriptive
206
206
207
207
---
208
208
209
+
### v15.0 — Grade Calculator Example + String Concatenation Fix
210
+
**Lines:**~2,970 | **Date:** May 28, 2026
211
+
212
+
Added a 9th built-in example that exercises the Scanner input system, and fixed a string concatenation bug.
213
+
214
+
-**New example: Grade Calculator (Scanner)** — multi-input program using `nextLine()` and `nextInt()` in a for loop; collects student name, number of subjects, and marks; calculates total, average, and assigns grade (A+ through F) using `if`/`else if`/`else` chain
215
+
-**String literal detection fix** — expressions like `"subject " + i + ":"` were treated as a single string literal because the expression started and ended with `"`. The string handler now finds the actual end of the first quoted string and falls through to the concatenation handler when more expression follows
216
+
- All 9 examples verified working
217
+
218
+
---
219
+
220
+
### v16.0 — Inline Scanner Input Display
221
+
**Lines:**~2,980 | **Date:** May 28, 2026
222
+
223
+
User inputs now appear inline after prompts in the Output tab, matching real terminal behavior.
224
+
225
+
-**Before:** prompts and inputs shown separately — prompts as white text, inputs listed at the bottom with green `›` markers
226
+
-**After:** each input appears on the same line as its prompt (e.g., `Enter student name: Angshuman`)
227
+
-**Interpreter change:** after consuming a Scanner input, the interpreter now appends the raw input value to the current output line (the prompt from `System.out.print`), then pushes a new empty line to simulate the user pressing Enter
228
+
-**Output tab simplified** — removed the complex merging logic from v15; the interpreter itself handles inline display, so the Output tab renders a simple list of output lines
229
+
- Example prompts updated to use `System.out.print` (no newline) instead of `println` for natural inline appearance
230
+
- Bubble Sort and all other examples verified still working after changes
231
+
232
+
---
233
+
234
+
### v17.0 — Status Bar (Line Count, Character Count, Cursor Position)
235
+
**Lines:**~3,021 | **Date:** May 30, 2026
236
+
237
+
Added an IDE-style status bar at the bottom of the editor pane.
238
+
239
+
-**Left side:** cursor position — `Ln 10, Col 25` — updates in real-time via `selectionStart` tracking on click, keyup, and select events
0 commit comments