seguinte preciso fazer um programa q pegue a 1 nota 2 e 3 de 3 etapas num colegio para saber qnt precisa tirar na quarta etapa, so que na quarta etapa se tem o "peso 2", que é como se valesse 2 etapas.
mas ta dando um erro:
importjavax.swing.JOptionPane;publicclassboletim{publicstaticvoidmain(Stringargs[]){doublen1,n2,n3,x;nota1=JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa");nota2=JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa");nota3=JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa");n1=Integer.parseDouble(nota1);n2=Integer.parseDouble(nota2);n3=Integer.parseDouble(nota3);(n1+n2+n3+x+x)/4.0==7.0;JOptionPane.showMessageDialog(null,"Você precisa tirar "+x+" na 4 etapa");}}
Qual o tipo de erro? É erro de compilador, ou a sua lógica é que não funciona?
n1+n2+n3+x+x)/4.0==7.0;
O código acima está errado.
Você fez um cálculo, e está comparando o mesmo com o valor 7.0. Só que falta você colocar uma condição aí.
if(n1+n2+n3+x)/4.0==7.0){
//Façaalgumacoisa.
JOptionPane.showMessageDialog(null,"Você precisa tirar "+x+" na 4 etapa");
}
Tente algo assim.
[]'s
luizrobertofreitas
Então, qual é o erro? é na compilação ou execução? Se este for o código inteiro, acredito que vc precise inicializar a variável “x” do tipo double, pois vc declara e atribui valores às suas variáveis n1, n2 e n3.
pmlm
kiwon:
tenho quase certeza que o erro ta em
(n1+n2+n3+x+x)/4.0==7.0;
mas n sei como fazer isso.
Claro que o erro está aí.
Isso é uma equação, certo? Tens de por isso em igualdade a x.
x=....
E
enantiomero
O Java não sabe resolver equações sozinho. Consulte o site http://www.wolframalpha.com se quiser resolver uma equação.
Resolva a equação, e crie um comando como este aqui:
x=.........;// Resultado da sua equação
Por exemplo, o Wolfram Alpha disse que o resultado da equação é:
Seguindo a boa prática de programação você pode fazer o seguinte:
importjavax.swing.JOptionPane;publicclassboletim{publicstaticvoidmain(Stringargs[]){doublen1=0.0;doublen2=0.0;doublen3=0.0;doublex=0.0;nota1=JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa");nota2=JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa");nota3=JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa");n1=Integer.parseDouble(nota1);n2=Integer.parseDouble(nota2);n3=Integer.parseDouble(nota3);x=(n1+n2+n3)/3.0;x*=2.0;if(x>=7.0)JOptionPane.showMessageDialog(null,"Você passou de ano"+x+"...parabéns");if(x==7.0){JOptionPane.showMessageDialog(null,"Passou raspando...."+x);}else{JOptionPane.showMessageDialog(null,"Tomou Bomba");}}}
Vc tem que inicializar suas variavéis para não dar erro de NullPointer em tempo de compilação. Espero ter ajudado
kiwon
consegui sem o peso 2:
importjavax.swing.JOptionPane;classboletim{publicstaticvoidmain(Stringargs[]){intn1,n2,n3,x;Stringnota1,nota2,nota3;nota1=JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa");nota2=JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa");nota3=JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa");n1=Integer.parseInt(nota1);n2=Integer.parseInt(nota2);n3=Integer.parseInt(nota3);if((x=28-n1-n2-n3)>=0)JOptionPane.showMessageDialog(null,"Você precisa tirar "+x+" na 4 etapa!");if((x=28-n1-n2-n3)>10)JOptionPane.showMessageDialog(null,"Você já está de recuperacao!");elseJOptionPane.showMessageDialog(null,"Você já está passado!");}}
sem peso 2 nem com double, da um erro no parseDouble.
alguem tem alguma sugestão?
R
Reanclei
Kara não sei o que vc queria mais eu converti um valor inteiro em uma String e deu isso ai
Executa ai pra ver
ha eu coloquei um laço de repetição while so pra testar Ok
importjavax.swing.JOptionPane;publicclassboletim{publicstaticvoidmain(Stringargs[]){booleancontinua=true;while(continua){intn1,n2,n3,x;intnota1=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa"));intnota2=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa"));intnota3=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa"));n1=(nota1);n2=(nota2);n3=(nota3);if((x=28-n1-n2-n3)>=0){JOptionPane.showMessageDialog(null,"Você precisa tirar "+x+" na 4 etapa!");}if((x=28-n1-n2-n3)>10){JOptionPane.showMessageDialog(null,"Você já está de recuperacao!");}else{JOptionPane.showMessageDialog(null,"Você já está passado!");}if(JOptionPane.showConfirmDialog(null,"Deseja Sair do Programa ?","Aviso",JOptionPane.YES_NO_OPTION)==0){continua=false;}}}}
R
Reanclei
e nesse outro aqui eu usei o double
da um alhada ai executa
era isso que vc queria ??
importjavax.swing.JOptionPane;publicclassboletim{publicstaticvoidmain(Stringargs[]){booleancontinua=true;while(continua){doublex;doublenota1=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa"));doublenota2=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa"));doublenota3=Integer.parseInt(JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa"));if((x=28-nota1-nota2-nota3)>=0){JOptionPane.showMessageDialog(null,"Você precisa tirar "+x+" na 4 etapa!");}if((x=28-nota1-nota2-nota3)>10){JOptionPane.showMessageDialog(null,"Você já está de recuperacao!");}else{JOptionPane.showMessageDialog(null,"Você já está passado!");}if(JOptionPane.showConfirmDialog(null,"Deseja Sair do Programa ?","Aviso",JOptionPane.YES_NO_OPTION)==0){continua=false;}}}}
pedroroxd
Tente:
importjavax.swing.JOptionPane;publicclassboletim{publicstaticvoidmain(Stringargs[]){doublen1,n2,n3,x,result,falta,songa=0;nota1=JOptionPane.showInputDialog(null,"Insira a nota da 1 etapa");nota2=JOptionPane.showInputDialog(null,"Insira a nota da 2 etapa");nota3=JOptionPane.showInputDialog(null,"Insira a nota da 3 etapa");n1=Integer.parseDouble(nota1);n2=Integer.parseDouble(nota2);n3=Integer.parseDouble(nota3);result=(n1+n2+n3);songa=x+x;media=(result+songa)/4;falta=7.0-media;JOptionPane.showMessageDialog(null,"Você precisa tirar "+falta*2+" na 4 etapa");}}