From bb6a07005b6e1fffe26bc76f31c4726c1816042c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Em=C3=ADlio=20Medina=20Lages?= Date: Wed, 26 Jan 2022 13:41:38 +0100 Subject: [PATCH] Fixing ListFun.addEle with position --- .../com/basicsstrong/functional/section14/ListFun.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Functional-Programming-Project/src/com/basicsstrong/functional/section14/ListFun.java b/Functional-Programming-Project/src/com/basicsstrong/functional/section14/ListFun.java index 7855cc0..8dfe68a 100644 --- a/Functional-Programming-Project/src/com/basicsstrong/functional/section14/ListFun.java +++ b/Functional-Programming-Project/src/com/basicsstrong/functional/section14/ListFun.java @@ -95,11 +95,11 @@ public ListFun addEle(T e){ //method to add element at specific position public ListFun addEle(int pos, T ele){ - if(pos < 1 || pos > length()) + if(pos < 0 || pos > length()) throw new IndexOutOfBoundsException(); - if(pos == 1) - return this.tail().addEle(ele); - return new Const(head(),addEle(pos-1,ele)); + if(pos == 0) + return this.addEle(ele); + return new Const(head(),tail().addEle(pos-1,ele)); } public void forEach(Consumer action) {