Cerco di essere il più chiaro possibile:
avendo una data iniziale ed un giorno della settimana scelto dall'utente, devo prendere la data che corrisponde a quel dato giorno...

ad esempio ho "9/7/2008" e "Lunedì"... il sistema dovrà quindi selezionare la data "14/7/2008" essendo il primo lunedì che incontra, io ho provato così... ma il while non mi funziona:

codice:
String sd = (dati.get(0));
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date data1 = new java.sql.Date(sdf.parse(sd).getTime());//mi prende la data di inizio
String giorno_sett = dati.get(1);                                  //mi prende il giorno della settimana
int gg_data = data1.getDay();
int gg_scelto = -1;
        		
if (giorno_sett.equals("Lunedì"))
{
        gg_scelto = 1;
}
else if (giorno_sett.equals("Martedì"))
{
	gg_scelto = 2;
}
else if (giorno_sett.equals("Mercoledì"))
{
	gg_scelto = 3;
}
else if (giorno_sett.equals("Giovedì"))
{
	gg_scelto = 4;
}
else if (giorno_sett.equals("Venerdì"))
{
	gg_scelto = 5;
}
	

//trova il giorno della settimana selezionato a partire dalla data di inizio specificata
while (gg_scelto == gg_data)
{
	if (gg_data == 6)
	{
		//se è sabato, vai avanti di tre giorni e vai a lunedì
		data1 = new Date(data1.getTime()+259200000);
		gg_data = 1;
	}
	else
	{
	//altrimenti controlla il giorno successivo
	data1 = new Date(data1.getTime()+86400000);
	gg_data++;
	}
					
}