[Ajuda]Exercicio de calculo de media

[code]public class mediaAlunos
public static void main (String args [])

int n1 = 5;
int n2 = 7;
int n3 = 8;
int media;

if ( n1 <= 5) {
	n1 = 0;
} if ( n2 <= 5) {
	n2 = 0;
} if (n3 <= 5) {
	n3 = 0;
}

media = ( n1 + n2 + n3 / 3);

if (media >= 10 ) && (media <= 9 ); {
	System.out.println("Conceito A");
}
	if (media >= 8 ) && (media < 9 ) {
	System.out.println("Conceito B");
	} 
		if (media >= 5 ) && (media <= 7 ) {
			System.out.println("Conceito C");

			} else { 
				System.out.println("Reprovado");
			}
}

}[/code]

opa, so iniciante nesse mundo java, queria que vcs me dessem uma luz nesse exercicio simples
Escrevi esse codigo mas encontra 19 erros no algoritmo, depois da soma das medias, o que estou de fazendo de errado?
Agradeço se responderem :thumbup:
Valeu

Declare a variável média como Float

Tipo inteiro nao pode receber valor fracionário. Como dito acima, declare como float

Erro na expressão, no caso a divisão ocorrerá primeiro, isso altera o resultado esperado.

media = ( n1 + n2 + n3 / 3);

Correto

media = ( n1 + n2 + n3) / 3;

Esse erro tem um [color=red] ;[/color] e falta o b[/b], é só colocar ou tirar.

if (media >= 10 ) && (media <= 9 ); { 

Você pode fazer

if ((media >= 10 ) && (media <= 9 )) { 

ou
Você pode fazer

if (media >= 10  && media <= 9 ) { 

Tem outros com esse mesmo erro

Um outro error é que ao dividir um valor o resultado é um valor real, altere de int media; para double media; ou faça um cast media = (int)( n1 + n2 + n3) / 3;, nesse caso pode as casas decimal.

[code]
int n1 = 5;
int n2 = 7;
int n3 = 8;
int media; // aqui não pode ser int tem que ser double ou float

 if ( n1 <= 5) {  
     n1 = 0;  
 } if ( n2 <= 5) {  
     n2 = 0;  
 } if (n3 <= 5) {  
     n3 = 0;  
 }  

 media = ( n1 + n2 + n3 / 3);  // aqui vc fa´ra uma conversão para float ou double e modifique a expressão para media =  (n1 + n2 + n3 ) /3;

 if (media >= 10 ) && (media <= 9 ); {  // aqui vc está colocando  ; (ponto e virgula) depois da condição isso não existe. Essa condição tambem está errada coleque if(media >= 9 && media <= 10)
     System.out.println("Conceito A");  
 }  
     if (media >= 8 ) && (media < 9 ) {  
     System.out.println("Conceito B");  
     }   
         if (media >= 5 ) && (media <= 7 ) {  
             System.out.println("Conceito C");  

             } else {   
                 System.out.println("Reprovado");  
             }  
 }  [/code]

Obrigado galerinha do mal, tava pensando que o erro era nos IFS e else que nao dei atenção ao resto :oops:

EDIT: Executei pra ver no que dava, minha média somada e dividida por 3 deu 5, intao era pra cair no conceito C
mas apareceu Conceito A e conceito C, quando eu executei, alguem poderia me explicar pq aconteceu isso ?

como ficou depois da ajuda de vcs:

[code]public class mediaAlunos {
public static void main (String args []) {

int n1 = 5;
int n2 = 7;
int n3 = 8;
double media;

if ( n1 <= 5) {
	n1 = 0;
} if ( n2 <= 5) {
	n2 = 0;
} if (n3 <= 5) {
	n3 = 0;
}

media = ( n1 + n2 + n3) /3;

if (media >= 10 && media <= 9 ) {
	System.out.println("Conceito A");
}
	if (media >= 8 && media < 9 ) {
	System.out.println("Conceito B");
	} 
		if (media >= 5 && media <= 7 ) {
			System.out.println("Conceito C");

			} else { 
				System.out.println("Reprovado");
			}
}

}[/code]

depois vo fazer com que ele faça leitura de teclado e tals

olha doi erros na primeira condição

if (media >= 10 && media <= 9 ); 

tira esse ponto e virgula no final.
e repare no que esta fazendo na condição media >= 10 esta errado tem que ser media <= 10.
olha outro erro media <= 9 tem que ser media >= 9 então ficaria if(media >= 9 && media <= 10)

assim vc verifica o ontervao de 9 até 10

Ainda assim, faltam alguns else aí no meio. Senão vais obter Reprovado depois de Conceito A e Conceito B.

Vamos recapitular um conceito de LÓGICA ou MATEMÁTICA.

code - //Todos os numeros maiores que ‘y’, não incluindo o mesmo.
(x<y) - //Todos os numeros menores que ‘y’, não incluindo o mesmo.
(x==y) - //‘x’ igual a ‘y’.
(x>=1 && x<=5) //Todos os numeros entre ‘1’ e ‘5’ incluindo os mesmos.
(x<=1 || x>=5) //Todos os números menos que ‘1’ ou maiores que ‘5’, ou seja, nenhum numero entre ‘1’ e ‘5’ se encaixa.
(x<=1 && x>=5) //CONDIÇÃO ERRADA, não existe um numero menor que 1 e maior que 5!!!
(x>=1 || x<=5) //Não está errado, mas é a mesma coisa que dizer todos os ‘x’ pertencentes ao Real, ou seja, qualquer numero.
[/code]
Espero ter ajudado,

Abraço.