IF Statement condition
<p>This is my code, and i have a simple question</p>

<pre><code>import java.util.*;
import java.io.*;
import type.lib.GlobalCredit;
import type.lib.CreditCard;
import java.text.SimpleDateFormat;


public class eCheck08A

{
public static void main(String[] args)

{
    PrintStream out = System.out;
    Scanner in = new Scanner(System.in);

    GlobalCredit credit1 = new GlobalCredit().getRandom();

    out.print("Enter report range in years ... ");
    int range = in.nextInt();
    out.println("Cards expiring before " + range + " year(s) from now: ");

    SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy");

    for (CreditCard cc : credit1)
    {

    Calendar c = Calendar.getInstance();
    c.setTime(cc.getExpiryDate());
    c.add(Calendar.YEAR, range);
    Date newDate = c.getTime();

        if (cc.getExpiryDate().compareTo(newDate) &lt; range)
        {
            if(cc.getExpiryDate().compareTo(newDate) &gt; range)
            {
                out.print("*");
            }
            out.print(cc.getNumber());
            out.println("\t" + sf.format(cc.getExpiryDate()));

        }
    }



}
}
</code></pre>

<p>output of what it should look like:</p>

<pre><code>Enter report range in years ... 3
Cards expiring before 3 years from now:

561561-8 20/11/2015
045645-7 22/02/2017
456462-3 16/04/2013 *
546548-5 19/08/2016
</code></pre>

<p>The current year is 2012
The person enters '3' as range.
so any year that is from 2012-2015 should have a " * ". Like the output above, 2013 has a " * ".
Can you tell what i am doing wrong in my IF statement?</p>
