Olá galera,
Estou desenvolvendo um algoritmos para pegar a semana de uma determinada data no formado dd/mm/aaaa.
Até aonde eu fiz funcionou. Gostaria de algumas idéias para o algoritmo ficar menor e mais objetivo.
[code]import java.util.Scanner;
public class Semanas{
public static void main(String[] args){
Scanner teclado = new Scanner(System.in);
System.out.print("Digite a data no formato dd/mm/aaaa: ");
String dt = teclado.nextLine();
String diaS = dt.substring(0, 2);
String mesS = dt.substring(3, 5);
String anoS = dt.substring(6, 10);
int dia = Integer.parseInt(diaS);
int mes = Integer.parseInt(mesS);
int ano = Integer.parseInt(anoS);
int dias = dia;
int semanaAno=1;
if(mes==1){
semanaAno=dias/7;
if(semanaAno==0){
semanaAno=1;
}
else{
semanaAno+=1;
}
}
else{
if(mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
dias+=(mes-1)*31;
}
else if(mes==2){
if(ano%400==0 || (ano%4==0 && ano%100!=0))
dias+=(mes-1)*29;
else
dias+=(mes-1)*28;
}
else
dias+=(mes-1)*30;
semanaAno = dias/7;
}
System.out.println("Você está na semana de nº "+semanaAno+" do ano");
}
}
[/code]