public class Idade{
public static void main(String[]args){
float idade=70;
if(idade<=12);{
System.out.println(“Criança”);
}
elseif(idade>12&&idade<18);{
System.out.println(“Adolecente”);
}
elseif(idade>=18&&idade<65);{
System.out.println(“Adulto”);
}
else
System.out.println(“Idoso”);
}
}
Reparou que tem um ; depois do ) e antes do {?
EDIT: talvez você tenha esquecido, mas, o java entende que uma linha/instrução foi encerrada quando você tem:
{ (abre chaves)
} (fecha chaves)
; (ponto e vírgula)
public class Foo { //a instrução de declaração da classe Foo encerra aqui
public /* linha prossegue */
void /* linha prossegue */
metodoEstranho( /* linha prossegue */
String arg) /* linha prossegue */
{ //término da linha de criação do método
return
; //Fim da instrução
}//fim da instrução do método
} //a instrução de delimitação da classe Foo encerra aqui
O java aceita, também, o if sem chaves
if(/*instrução booleana*/)
//faz algo
else
//faz outro algo
Assim sendo, ele entende que
if(/*instrução booleana*/);
É uma linha válida, inútil, mas válida.
E, provavelmente, seja isso que está matando teu código aí.
O ; é quase sempre interpretado como final de instrução na maioria das linguagens (exceção classica é o loop for com 3 estágios)
Se vc pode usar uma IDE que pode aplicar alguma auto-formatação (alinhamentos, separar em diversas linhas) isso ajuda muito pois este erro é claramente de “estilo”
Eu ainda estou aprendendo a programação java. Como que esse meu código teria que ficar para copilar?
Leia o que eu escrevi e pense a respeito da necessidade do bendito ; nesta linha