You might be overthinking this because this is extremely simple. Try thinking about it conceptually before you start thinking in code.
Your question is: which side should the sprite face after walking
The answer you want is: it should face the side the sprite walked towards
To decide that each frame we need to store lastDirectionWalkedTowards but lets abbreviate that a bit and call it facing. Now since your sprites move along the X-axis we only have to know if its left or right. You can create an enum for this but even easier would be to store it as an int, with +1 meaning facing right and -1 meaning facing left. We can use 0 for neutral when we havent walked yet, and use some sane default.
The complete psuedo code:
int facing = 0; //class member
//in the update method
if (ip.isKeyDown(Input.KEY_RIGHT))
{
facing = 1;
this.currentAnim = "Anim2";
System.out.println("down");
x += 0.1f * delta;
}
else if (ip.isKeyDown(Input.KEY_LEFT))
{
facing = -1;
this.currentAnim = "Anim4";
System.out.println("down");
x -= 0.1f * delta;
}
else // if no directional key was pressed
{
if(facing == -1) // if facing left
{
this.currentAnim = "LookLeft";
}
else // if facing right or neutral
{
this.currentAnim = "LookRight";
}
}