Eu acho que o erro está neste calculo, ele compila tudo certo mas toda vez cai no default.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x, res;
System.out.print("Dia: ");
int dia = sc.nextInt();
System.out.print("Mes: ");
int mes = sc.nextInt();
System.out.print("Ano: ");
int ano = sc.nextInt();
if(mes >= 3) {
mes = mes-1;
x = 8;
}
else {
ano=ano-1;
x=13;
}
res = (x + dia +(31 * mes/12)+((5*ano)/4)-(3*(1 + ano/100)/4));
switch(res) {
case 1:
System.out.println("DOMINGO");
break;
case 2:
System.out.println("SEGUNDA-FEIRA");
break;
case 3:
System.out.println("TERÇA-FEIRA");
break;
case 4:
System.out.println("QUARTA-FEIRA");
break;
case 5:
System.out.println("QUINTA-FEIRA");
break;
case 6:
System.out.println("SEXTA-FEIRA");
break;
case 0:
System.out.println("SÁBADO");
break;
default:
System.out.println("Valor invalido");
break;
}
sc.close();
}
Quem poder me ajuda agradeço, não precisa usar a Classe Date().

