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
Tipo inteiro nao pode receber valor fracionário. Como dito acima, declare como float
A
Alberes
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.
alexfe
intn1=5; intn2=7; intn3=8; intmedia; // aqui não pode ser int tem que ser double ou floatif(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"); }}
G
GabeDevelop
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 ?
depois vo fazer com que ele faça leitura de teclado e tals
alexfe
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
pmlm
Ainda assim, faltam alguns else aí no meio. Senão vais obter Reprovado depois de Conceito A e Conceito B.
felipebonezi
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,