Listar dias da Semana Corrente

opa pessoal…

alguem sabe um jeito de se listar a semana corrente?
por exemplo… hj é dia 25/05/2005…

o q eu queria era listar fazer a sequinte listagem na tela…

|…segunda…|…terça…|…quarta…|…quinta…|…sexta…|…sabado …|…domingo…|
| 23/05/2005 | 24/05/2005 | 25/05/2005 | 26/05/2005/ | 27/05/2005 | 28/05/2005 | 29/05/2005 |

minha cabeça nao ta funcionando hj e to sem ideia de como implementar isso…

qualquer ajuda, eu agradeço mto!

abraços!

use o java.util.Calendar e o java.text.SimpleDateFormat

faça um loop incrementando o dia do calendario cal.add(Calendar.DATE,1) e crie dois SimpleDateFormat, um com o padrão “dd/MM/yyyy” e outro com o padrão “EEEE”, use-os para imprimir a data e o dia da semana, respectivamente. Entendeu?!

perfeitamente!

valeu cara!!
eu fiz aki e funcionou legal!
agora to fazendo uma funcionalidade a mais onde o método recebe uma data como parametro e retorna um List da semana correspondete, começando na Segunda e terminando no Domingo…

qdo eu terminar eu posto aqui como ficou!

valeu!
abraços!

opa…

como prometi… aqui está o esquema q eu fiz…
eu ja coloquei num main() pra testar… quem quiser, eh soh copiar e rodar…

public class TesteListagem {
		
		public SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
		
		public static void main(String[] args) {
			new TesteListagem();
		}

	
		public TesteListagem() {		
			Date date = new Date();
			//String sdata = formatador.format(date);
			String sdata = "18/03/2005";
			
			System.out.println("Passando Date como parametro: \n");
			for(Iterator iter=listaSemana(date).iterator();iter.hasNext();) {
				System.out.println(iter.next());
			}
			System.out.println("\nPassando String (formatada) como parametro: \n");
			for(Iterator iter=listaSemana(sdata).iterator();iter.hasNext();) {
				System.out.println(iter.next());
			}
		}

		
		public List listaSemana(Date dia) {
			List semana = new ArrayList();
			
			Calendar cal = Calendar.getInstance();
			cal.setTime(dia);
			
			int segunda = cal.get(Calendar.DAY_OF_WEEK) -2;
			cal.add(Calendar.DAY_OF_MONTH, - segunda);
		
			int x = (cal.get(Calendar.DAY_OF_MONTH)) + 7;
			for(int i = cal.get(Calendar.DAY_OF_MONTH); i<x; i++) {
				semana.add(formatador.format(cal.getTime()));
				cal.add(Calendar.DAY_OF_MONTH,1);				
			}
			
			return semana;
		}
		
		public List listaSemana(String dia) {
			Date data = null;		
			try {
				data = formatador.parse(dia);
				return listaSemana(data);
			} catch (java.text.ParseException pe) {
				System.err.println("Ocorreu erro ao transformar a data");
				pe.printStackTrace(System.err);
				return null;
			}		
		}
			
}

abraços!