grazie andbin per i suggerimenti consigliatomi 
allora io ho provato a scrivere così:
codice:
import java.lang.Comparable;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
import java.awt.*;
import java.io.*;
public class comparetocalender {
public static void main(String[] args) {
String[] dati = new String[9];
Scanner in = new Scanner(System.in);
for (int i = 0; i < 9; i++) { //svuoto l'array
dati[i] = "";
}
System.out.println ("Confronto:");
do{
System.out.println("Inserire la data nel seguemte formato (GG-MM-AAAA): ");
dati[2] = in.nextLine();
if (dati[2].equalsIgnoreCase("Q")) {
System.out.println("");
return;
}
} while (dati[2].equals("") || (dati[2].length() != 10) || ! (dati[2].substring(2, 3).equals("-")) || ! (dati[2].substring(5, 6).equals("-")) );
//Creating a calender
Calendar c = new GregorianCalendar(dati[2]);
Calendar c1 = new GregorianCalendar(Calendar);
// Compares the time values represented by two Calendar objects.
int i = c.compareTo(c1);
//returns positive value if equals else return negative value
System.out.println(i);
}
}
qui di sicuro ho sbagliato
codice:
Calendar c = new GregorianCalendar(dati[2]);
Calendar c1 = new GregorianCalendar(Calendar);
però adesso voglio confrontare la data che io scrivo con quella del calendario. Ad esempio se scrivo 8/8/2008 mi deve dire che è OK, se in caso scrivo 8/88/2008 allora ERRORE...