nao consigo resolver este problema …
Sabendo que o dia 01/jan/2011 foi um sábado, implementar um procedimento, conforme assinatura abaixo,
que dado um dia de um mês deste mesmo ano retorne o dia da semana (“dom”, “seg”, “ter”, “qua”, “qui”, “sex”, ou “sab”)
correspondente a este dia. Por exemplo, o dia 03/04/2011 foi domingo, devendo, portanto retornar “dom”.
public static String diaSemana(int dia, int mes)
alguem sabe como começar???
obrigado…
Conte quando dias existem entre esse dia e 1/1/2011.
Depois tire o resto por 7.
E use o resultado para ver qual é o dia da semana resultante.
A lógica nem sequer precisa se aplicar ao mesmo ano, mas para fazer entre anos diferentes, pode ser difícil determinar quantos dias existem por causa dos anos bissextos.
Use o método SimpleDateFormat():
http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
Por exemplo:
[code]import java.text.;
import java.util.;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Arquivo {
public static void main(String[] args) {
Locale.setDefault (new Locale (“pt”, “BR”));
DateFormat day = new SimpleDateFormat (“dd/MM/yyyy”);
Date data = null;
try {
data = day.parse (“11/09/2011”);
} catch (ParseException ex) {
Logger.getLogger(Arquivo.class.getName()).log(Level.SEVERE, null, ex);
}
DateFormat exDay = new SimpleDateFormat (“EEEE”);
System.out.println (exDay.format (data));
}
}[/code]
Vamos a um exemplo.
Considere
0 = SAB
1 = DOM
2 = SEG
3 = TER
4 = QUA
5 = QUI
6 = SEX
E que o dia seja 8/1/2011.
Resto de (8-1) por 7 = 0. Portanto, o dia em questão é sábado.
Agora, digamos que o dia seja o dia 15/1/2011
Resto de (15-1) por 7 = resto(14) por 7 = 0, portanto o dia é sábado (o que é obvio, pois só estou somando 7 dias).
Agora, digamos que o dia seja 17/2/2011.
Resto de (31+17-1) por 7 = resto de 47 por 7 = 5. Portanto o dia em questão é quinta-feira.
A soma de 31 antes do 17 corresponde a todos os dias do mês de janeiro.
É a forma mais correta e profissional, mas dificilmente será aceita pelo professor.