Oi Pessoal... eu fiz um código para calcular a média de um aluno, sendo o seguinte, entra com nota 1 e nota 2 se for menor que 6 fazer sub, caso contrario aprovado... esta funcionando, só que ele não esta calculando a média depois que a nota da sub substitui a menor nota.
Alguem sabe como posso resolver isso?!?! :cry:
Segue abaixo o código...
Abraços...
packagecom.yourcompany.struts;/**Programa que calcula a média do aluno, *se o aluno fica de exame ou não e imprime *Aprovado ou reprovado*/importjavax.swing.JOptionPane;publicclassMedia{publicstaticvoidmain(String[]args){Stringnome,n1,n2,nsub;doublenota1,nota2,sub,media;nome=JOptionPane.showInputDialog("Digite o nome do aluno");//Recebe a string notan1=JOptionPane.showInputDialog("Digite a p1");//converte a String em doublenota1=Double.parseDouble(n1);n2=JOptionPane.showInputDialog("Digite a p2");nota2=Double.parseDouble(n2);media=(nota1+nota2)/2;if(media>=6){JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A média do aluno é"+media,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A media do aluno é"+media,"Deverá fazer Prova Substituta",JOptionPane.WARNING_MESSAGE);}nsub=JOptionPane.showInputDialog("Digite a nota da Sub");//converte a String em doublesub=Double.parseDouble(nsub);if(nota1<=6){System.out.println(n1);nsub=n1;n1=nsub;}else{System.out.println(n2);}media=(sub+nota2)/2;if(sub>=6){JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A média do aluno é"+nsub,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A media do aluno é"+nsub,"Reprovado",JOptionPane.WARNING_MESSAGE);}System.exit(0);}}
Está funcionando. fiz algumas alterações, vc vai perceber. Só coloquei algumas coisas dentro do else que executa quando a nota do aluno é menor que 6.0. Ele é que faz todo o trabalho quando o aluno deve fazer prova substituta… Qualquer dúvida, posta ai
/**Programaquecalculaamédiadoaluno,*seoalunoficadeexameounãoeimprime*Aprovadooureprovado*/importjavax.swing.JOptionPane;publicclassMedia{publicstaticvoidmain(String[]args){Stringnome,n1,n2,nsub;doublenota1,nota2,sub,media;nome=JOptionPane.showInputDialog("Digite o nome do aluno");//Recebeastringnotan1=JOptionPane.showInputDialog("Digite a p1");//converteaStringemdoublenota1=Double.parseDouble(n1);n2=JOptionPane.showInputDialog("Digite a p2");nota2=Double.parseDouble(n2);media=(nota1+nota2)/2;if(media>=6){JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A média do aluno é "+media,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A media do aluno é "+media,"Deverá fazer Prova Substituta",JOptionPane.WARNING_MESSAGE);nsub=JOptionPane.showInputDialog("Digite a nota da Sub");//converteaStringemdoublesub=Double.parseDouble(nsub);media=(sub+nota2)/2;if(sub>=6){JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A média do aluno é "+nsub,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno"+nome+"\n"+"A media do aluno é "+nsub,"Reprovado",JOptionPane.WARNING_MESSAGE);}}System.exit(0);}}
E
esb
Olá Renata,
Tente colocar o trecho de código que pede a nota substitutiva do aluno dentro da condição onde a média dele é menor que 6, ou seja, no else. Depois disso, verifique qual das duas notas, a 1 ou a 2 é a menor, e só então peça a nota substitutiva, jogando o valor na variável nota1 ou nota2, dependendo de qual for a menor.
[]s
W
wagnerps
aproveitando o código do colega cassio
nsub=JOptionPane.showInputDialog("Digite a nota da Sub");//converteaStringemdoublesub=Double.parseDouble(nsub);if(nota1<nota2){
media=(sub+nota2)/2;}else{
media=(nota1+sub)/2;}
if(media>=6)//aquiestavaif(sub>=6)
Falow…
S
somma
Eu comentei o código.
importjavax.swing.JOptionPane;publicclassMedia{publicstaticvoidmain(String[]args){//AtributosStringnome,n1,n2,nsub;doublenota1,nota2,sub,media;//Recebendoonomedoaluno(a)nome=JOptionPane.showInputDialog("Digite o nome do aluno(a) ");//Recebeastringnotan1=JOptionPane.showInputDialog("Digite a p1 ");n2=JOptionPane.showInputDialog("Digite a p2");//converteaStringemdoublenota1=Double.parseDouble(n1);nota2=Double.parseDouble(n2);//Calculaamediamedia=(nota1+nota2)/2;//Verificaseamédiaésuperiorouiguala6if(media>=6){JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A média do aluno(a) é "+media+"\n"+"Aluno(a) Aprovado.","Situação do Aluno(a)",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A media do aluno(a) é "+media+"\n"+"Deverá fazer Prova Substituta."+"\n"+"Pressione ok para digitar a nota da sub.","Situação do Aluno(a)",JOptionPane.WARNING_MESSAGE);//Recebendoeconvertendovalornsub=JOptionPane.showInputDialog("Digite a nota da Sub");sub=Double.parseDouble(nsub);//Calculandoanotadasubmedia=(sub+nota2)/2;if(media>=6){JOptionPane.showMessageDialog(null,"Aluno(a) "+nome+"\n"+"A média do aluno(a) é"+media+"\n"+"Aluno Aprovado","Situação do Aluno(a)",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno(a)"+nome+"\n"+"A media do aluno é"+media+"+\n"+"Reprovado","Situação do Aluno(a)",JOptionPane.WARNING_MESSAGE);}}System.exit(0);}}
R
renatac
BRIGADAO GALERA! ME AJUDARAM BASTANTE!!!
:oops:
R
renatac
…
O
oasosvaldo
Ólá. Eu consegui dar um reformulada em seu programa, só que como eu precisava de calcular com 4 notas assim o fiz, é só vc ver o que foi alterado e pegar a sintax. Abraço. Osvaldo.
O
oasosvaldo
Ficou assim…
/**Programa que calcula a média do aluno,
*se o aluno fica de exame ou não e imprime
*Aprovado ou reprovado
*/
nome=JOptionPane.showInputDialog("Digite o nome do aluno");//Recebe a string nota n1=JOptionPane.showInputDialog("Digite a primeira nota");//converte a String em double nota1=Double.parseDouble(n1);n2=JOptionPane.showInputDialog("Digite a segunda nota");nota2=Double.parseDouble(n2);n3=JOptionPane.showInputDialog("Digite a terceira nota");nota3=Double.parseDouble(n3);n4=JOptionPane.showInputDialog("Digite a Quarta nota");nota4=Double.parseDouble(n4);media=(nota1+nota2+nota3+nota4)/4;if(media>=6){JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A média do aluno é "+media,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);System.exit(0);}else{JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A media do aluno é "+media,"Deverá fazer Prova Substituta",JOptionPane.WARNING_MESSAGE);}nsub=JOptionPane.showInputDialog("Digite a nota da Sub");//converte a String em double sub=Double.parseDouble(nsub);/*if (sub<=6) { System.out.println(n1); nsub = n1; n1 = nsub; } else { System.out.println(n2); }*/media=(sub+media)/2;if(media>=5){JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A média do aluno é "+media,"Aluno Aprovado",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Aluno "+nome+"\n"+"A media do aluno é "+media,"Reprovado",JOptionPane.WARNING_MESSAGE);}System.exit(0);}
}
F
FBovo
LEGAL!
A
Alex_Hyuga
Como ficaria esse código usando ArrayList para guardar os nomes e notas dos alunos?
F
faverogabriel
Pessoal, preciso de ajuda, por favor!!!
To com duvida nesse seguinte exercicio:
Escreva um programa para contar quantos números 5 foram digitados e acumule os números diferentes de 5 de um total de 50 números.
Já nesse aqui então: Escreva um código que receba 08 variáveis contendo as idades de 8 pessoas através da caixa de diálogo e calcule o total das idades e também a média aritmética das mesmas.
Apresentar uma saída conforme abaixo:
O total das idades é x,x,x e a média y,y,y.
Mandem em código, se puderem tá, esses exercicios que falei?
É porque tenho que entregar esse exercicio de java ainda hoje, por favor.
obrigado igualmente
Gabriel