Fiz o Switch do exemplo da aula 06, mas nos cases coloquei 01, 02, 03 ... e não 1,2,3 ....
No 08 e 09 dá erro de execução, mas não consegui entender por que. Colocando 8 e 9 funciona.
Fiz o Switch do exemplo da aula 06, mas nos cases coloquei 01, 02, 03 ... e não 1,2,3 ....
No 08 e 09 dá erro de execução, mas não consegui entender por que. Colocando 8 e 9 funciona.
Coloca o código para ficar mais fácil te ajudar!!
public class TestaMes {
public static void main(String[] args) {
int Mes = 9;
switch (Mes) {
case 01:
System.out.println("Janeiro");
break;
case 02:
System.out.println("Fevereiro");
break;
case 03:
System.out.println("Março");
break;
case 04:
System.out.println("Abril");
break;
case 05:
System.out.println("Maio");
break;
case 06:
System.out.println("Junho");
break;
case 07:
System.out.println("Julho");
break;
case 08:
System.out.println("Agosto");
break;
case 09:
System.out.println("Setembro");
break;
case 10:
System.out.println("Outubro");
break;
case 11:
System.out.println("Novembro");
break;
case 12:
System.out.println("Dezembro");
break;
default:
System.out.println("Mês inválido");
break;
}
}
}
case 08 e case 09 dá erro com a seguinte mensagem: "The literal 08 (ou 09) of type int is out of range"
É porque, em Java, os números que começam com 0 (como o seu 08 e 09) são tratados como octal (base 8). E não há 08 e 09 em octal. E tbm os números são inteiros não há necessidade de colocar 0 antes poi vai ser ignorado pelo java !!
Obrigado pela ajuda.
Se puder fechar o tópico para não deixar aberto sem solução !!! Obrigado vlw André.
Oi André, tudo bem?
Como sua dúvida foi solucionada, estou fechando o tópico, ok?
Qualquer coisa não hesite em abrir outro :)