Erro de copilação 'else' without 'if' else ^. Qual o problema?

4 respostas
java
R
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);

}

}

4 Respostas

darlan_machado

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í.

peczenyj

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”

R

Eu ainda estou aprendendo a programação java. Como que esse meu código teria que ficar para copilar?

darlan_machado

Leia o que eu escrevi e pense a respeito da necessidade do bendito ; nesta linha

Criado 23 de agosto de 2018
Ultima resposta 24 de ago. de 2018
Respostas 4
Participantes 3