11package myDuke ;
22
3+ import java .io .IOException ;
34import java .time .LocalDate ;
45import java .time .format .DateTimeParseException ;
56import java .util .ArrayList ;
@@ -95,7 +96,7 @@ public void handleInput() {
9596 MyDuke .indexChecker (getParsedInput ());
9697 int ref = Integer .parseInt (getParsedInput ()[1 ]);
9798 Task toRemove = tasks .getTask (ref );
98- tasks .deleteTask (ref - 1 );
99+ tasks .deleteTask (ref );
99100 ui .printDeletedTaskAlert (toRemove .toString (), tasks .getTaskList ().size ());
100101 } catch (NoIndexException e ) {
101102 ui .printErrorMsg (e .getMessage ());
@@ -196,14 +197,15 @@ public String handleInputStr() {
196197 switch (getParsedInput ()[0 ]) {
197198 case "list" :
198199 int counter = 1 ;
199- String [] tempArr = new String [ 100 ] ;
200+ List < String > tempArr = new ArrayList <>() ;
200201 if (tasks .getTaskList ().isEmpty ()) { // improved implementation in case list is empty, gives a clear output
201202 return ui .showListEmptyMsgStr ();
202203 } else {
203204 for (Task t : tasks .getTaskList ()) { // changed String s to Task t
204- tempArr [ counter - 1 ] = counter + ". " + t .toString ();
205+ tempArr . add ( counter + ". " + t .toString () );
205206 counter ++;
206207 }
208+
207209 return ui .printTasksInListStr (tempArr );
208210 }
209211 case "done" :
@@ -226,7 +228,7 @@ public String handleInputStr() {
226228 MyDuke .indexChecker (getParsedInput ());
227229 int ref = Integer .parseInt (getParsedInput ()[1 ]);
228230 Task toRemove = tasks .getTask (ref );
229- tasks .deleteTask (ref - 1 );
231+ tasks .deleteTask (ref );
230232 return ui .printDeletedTaskAlertStr (toRemove .toString (), tasks .getTaskList ().size ());
231233 } catch (NoIndexException e ) {
232234 return ui .printErrorMsgStr (e .getMessage ());
@@ -307,6 +309,12 @@ public String handleInputStr() {
307309 return ui .printErrorMsgStr (e .getMessage ());
308310 }
309311 case "bye" :
312+ try {
313+ storage .saveToFile (tasks .getTaskList ());
314+ } catch (IOException e ) {
315+ // String newDir = "../data/saveFile.txt";
316+ ui .printErrorMsg ("Something went wrong: " + e .getMessage ());
317+ }
310318 return ui .showByeMsgStr ();
311319 case "sort" :
312320 Collections .sort (tasks .taskList , new TaskListComparator ());
0 commit comments