How do I make a left arrow of asterisks in Java?
<p>I'am working on a program that makes right and left arrows. They are extended from a ShapeBase class which is implemented from a ShapeInterface. I didn't paste them so it wouldn't look overwhelming. The problem is I have figured out the right arrow ( I believe) but cannot find my way to getting the left arrow. I keep getting confused and cant seem to understand how to do it. Any help is appreciated. 
<a href="http://i.stack.imgur.com/oER0Z.jpg" rel="nofollow">RightArrow Example Output</a></p>

<pre><code>public abstract class ShapeBase implements ShapeInterface
{
private int offset;

public ShapeBase( )
{
    offset = 0;
}

public ShapeBase(int theOffset)
{
    offset = theOffset;
}

public abstract void drawHere( );

public void drawAt(int lineNumber)
{
    for (int count = 0; count &lt; lineNumber; count++)
        System.out.println( );
    drawHere( );
}

public void setOffset(int newOffset)
{
    offset = newOffset;
}

public int getOffset( )
{
    return offset;
}
}





public class RightArrow extends ShapeBase
{
private int tail;
private int width;

public RightArrow()
{
    super();
    tail = 0;
    width = 0;
}

public RightArrow(int theOffset ,int tailSize, int theWidth)
{
    super(theOffset);
    tail = tailSize;
    width = theWidth;
    set(tail , width);
}
public void set(int newHeight, int newWidth)
{
    tail = newHeight;
    width = newWidth;
}

public void drawHere()
{
    topArrowhead();
    ArrowTail();
    bottomArrowHead();
}
public void topArrowhead()
{
    skipSpaces(getOffset());
    System.out.println("*");

    for(int i = 0; i&lt;width/2; i++)
    {
        skipSpaces(getOffset());
        System.out.print("*");
        skipSpaces(i);
        System.out.println("*");
    }
}

// method to draw the arrow tail
public void ArrowTail()
{
    for(int count=0; count&lt;tail; count++)
    {
        System.out.print("*");
    }
    skipSpaces(tail+width);
    System.out.print("*");

}

// method to draw bottom of arrowhead
public void bottomArrowHead()
{
    for(int i =1;i&lt;width/2; i--)
    {
        skipSpaces(getOffset());
        System.out.print("*");
        skipSpaces(i);
        System.out.println("*");
    }
    skipSpaces(getOffset());
    System.out.println("*");
}

private static void skipSpaces(int number)
{
    for (int count=0; count&lt; number; count++)
    System.out.print(" ");
}
}
</code></pre>

<p>FOR THE LEFT ARROW CLASS, I believe these are the only methods need changing.
I just don't know how</p>

<pre><code>    public void topArrowhead()
        {
            skipsSpaces(getOffset());
            System.out.println("*");

            for(int i = 0 i&lt;width/2; i++)
            {
                skipSpaces(getOffset());
                System.out.print("*");
                skipSpaces(i);
                System.out.println("*");
            }
        }

        // method to draw the arrow tail
        public void ArrowTail()
        {

        }

        // method to draw bottom of arrowhead
        public void bottomArrowHead()
        {

        }

        private static void skipSpaces(int number)
        {
            for (int count=0; count&lt; number; count--)
            System.out.print(" ");
        }
}
</code></pre>