I have just made up an example in C#/XNA and got it to work perfectly.
Here is the current function
public Vector2 GetPosition(Vector2 CurPos, float angle, float distance)
{
//Get SOH
float op = (float)Math.Sin(angle) * distance;
//Get CAH
float ad = (float)Math.Cos(angle) * distance;
//Add to old Vector
return (CurPos + new Vector2(ad, op));
}
Note that angle 0 means that the CurPos Tank Sprite is pointing right, In the example I made, I simple used the Left and Right arrow keys to + or - the current angle, and when drawing would simple use...
batch.Draw(BaseSprite, Position, null, Color.White, BaseRotation, new Vector2(BaseSprite.Width / 2, BaseSprite.Height / 2), 1, SpriteEffects.None, 0);
Obviously this is in C#, but i'm sure it wouldn't be too hard to convert to Java, seeing as both languages are quite similar anyway.