O que esta errado no meu codigo[RESOLVIDO]

Amigos este e meu primeiro post se eu estiver fazendo algo de errado por favor me corrigam.

Bom o problema e o seguinte.

Digitar 4 notas, tirar a media aritmetica e se a media for maior ou igual a 5 dizer que o aluno foi aprovado e mostrar a media usando o for.
Meu codigo esta assim

import javax.swing.JOptionPane;

public class media_ar {
public static void main(String[] args) {
int nota, media, soma = 0, i;
  for (i = 1; i <= 4; i++){
      nota = Integer.parseInt(JOptionPane.showInputDialog("Digite a nota da "+i+"º Prova"));
  if ((nota >= 0) && (nota <= 10)){
      soma = soma + nota;
  else
      JOptionPane.showMessageDialog(null,"Nota Invalida digite notas de 0 a 10");
      i = i-1;
      }
      media = nota / 4;
      {
   if (media >= 5)
     JOptionPane.showMessageDialog(null,"Aluno aprovado Media ="+media);
   else
     JOptionPane.showMessageDialog(null,"Aluno reprovado Media ="+media);
    }
   }
  }
 }

so que não esta funcionando na hora da conpilação da erro no else do primeiro if, ja tentei de todas as formas arrumar mas não estou conseguindo,
sendo assim aqui estou pedindo a ajuda dos senhores.

Desde ja agradeço.

Poste a mensagem de erro emitida pelo compilador.

o que é esse “0,i”??

 int nota, media, soma = 0, i;  

O que acontece é quando você for usar o if e abrir chaves tem que fechar antes do else, senão ele não irá funcionar.
falto também você iniciar a variável nota já que ela irá fazer um soma.
você também errou, ali seria media=soma/4; e não media=nota/4(Senão pegaria a ultima nota igual do for).
E faltou também abrir a chave else (Ela tem duas linhas, se não abrir chaves seria como tivesse apenas uma e daria erro).
Então ficou assim:

[code]import javax.swing.JOptionPane;

public class media_ar {

public static void main(String[] args) {  
int nota = 0, media, soma = 0, i;  
    for (i = 1; i <= 4; i++){  
    nota = Integer.parseInt(JOptionPane.showInputDialog("Digite a nota da "+i+"º Prova"));  
        if ((nota >= 0) && (nota <= 10)){  
            soma = soma + nota; } 
        else {
            JOptionPane.showMessageDialog(null,"Nota Invalida digite notas de 0 a 10");  
            i = i-1;
        }//Fim do else
    }//Fim do For  
media = soma / 4;  

if (media >= 5)  
    JOptionPane.showMessageDialog(null,"Aluno aprovado Media ="+media);  
else  
    JOptionPane.showMessageDialog(null,"Aluno reprovado Media ="+media);  
}//Fim do main  

}//Fim da Classe media_ar[/code]

Fala firebloods:

De cara, já dá pra ver algumas inconsistências na sintaxe.
Logo no primeiro if, vc está abrindo o colchete (iniciando o bloco if) iniciando uma linha de comando e logo após está chamando um else, sem fechar o bloco if.

if ((nota >= 0) && (nota <= 10)){  
      soma = soma + nota;  
  else 

A estrutura do if funciona da seguinte maneira, ou você abre e fecha o bloco, inserindo várias linhas de comando:

if (condição){
    //linhas de comando
} else{
    //linhas de comando
}

Ou você não abre o colchete, fazendo com que o compilador entenda que apenas uma linha de código será executada, se a condição for verdadeira, ex:

if(condicao)
    //linha de comando
else
    //linha de comando

Reveja esses conceitos de sintaxe e tente compilar novamente.

Espero ter ajudado :slight_smile: , abçs e seja bem vindo.

Caro Amigo (mauricionarcizo) esse (o que é esse “0,i”??) o 0 e que eu estava iniciando a variavel soma e o i e meu contador para o for;
Caro (luis_serra) você foi corretissimo com a correção do codigo agradeço imensamente e tambem ao amigo (jefftrindade.) suas dicas tambem foram cruciais,
agradeço tambem ao amigo (Andre Rosa)

Novamente agradeço e peço que tenham um pouco de paciêcia por que no começo parece que tudo ta escrito em japones mais com a ajuda dos senhores espero conseguir traduzir.

Sds

Anderson.

[quote=firebloods]Caro Amigo (mauricionarcizo) esse (o que é esse “0,i”??) o 0 e que eu estava iniciando a variavel soma e o i e meu contador para o for;
Caro (luis_serra) você foi corretissimo com a correção do codigo agradeço imensamente e tambem ao amigo (jefftrindade.) suas dicas tambem foram cruciais,
agradeço tambem ao amigo (Andre Rosa)

Novamente agradeço e peço que tenham um pouco de paciêcia por que no começo parece que tudo ta escrito em japones mais com a ajuda dos senhores espero conseguir traduzir.

Sds

Anderson.
[/quote]

Estamos aí!
Não importa a velocidade, importa é evoluir sempre!

[quote=jefftrindade.][quote=firebloods]Caro Amigo (mauricionarcizo) esse (o que é esse “0,i”??) o 0 e que eu estava iniciando a variavel soma e o i e meu contador para o for;
Caro (luis_serra) você foi corretissimo com a correção do codigo agradeço imensamente e tambem ao amigo (jefftrindade.) suas dicas tambem foram cruciais,
agradeço tambem ao amigo (Andre Rosa)

Novamente agradeço e peço que tenham um pouco de paciêcia por que no começo parece que tudo ta escrito em japones mais com a ajuda dos senhores espero conseguir traduzir.

Sds

Anderson.
[/quote]

Estamos aí!
Não importa a velocidade, importa é evoluir sempre! [/quote]

Como disse o Amigo acima, estamos aí, eu também preciso muito de ajudas, assim agente vai longe, abraços amigo, bons estudos.