Ajuda em Exercicio com potencia, metro e kilograma
19 respostas
B
brunaum15
Olá, tenho um exercicio para resolver, onde o programa pede o peso e a altura da pessoa, e depois calcula o IMC!
Duas perguntas:
como faço para o programa detectar kilogramas(peso) e metros(altura)??
-Peso(kilogramas) deve ser um valor maior que 0,5
-Altura(metros) deve ser um valor maior que 0,1
A formula é: IMC = peso * altura²
-como faço para calcular potencia??
Mais uma vez, você não está pensando na lógica. Veja os dados que sua classe quer e o que ela quer fazer. Faça por etapas.
lucas_guj
Eu já tenho esse programa pronto, me mostre o que você já fez para eu poder te ajudar.
D
daniferreira
tenta fazer pelo menos o começo o resto a gente te ajuda…
B
brunaum15
Eu fiz isso até agora! Se tiver algo para por, mandem please!
OBS: Nesse exercicio preciso fazer um comando que na hora que pede “Informe o peso” ao clicar em cancelar o aplicativo deve fechar! (sem que de erro lah na parte de baixo em vermelho)
packageExerciciosJava2;importjavax.swing.*;publicclassExercicio0707{publicstaticvoidmain(String[]args){doublepesoInformado=0;doublealturaInformado=0;doubleIMC=0;StringinformePeso=JOptionPane.showInputDialog(null,"Informe o seu peso (em kilogramas)");pesoInformado=Double.parseDouble(informePeso);if(pesoInformado<=0.5){StringpesoInvalido=String.format("Peso Inválido: %.2f",pesoInformado);JOptionPane.showMessageDialog(null,pesoInvalido,"Erro",0);System.exit(0);}StringinformeAltura=JOptionPane.showInputDialog(null,"Informe a sua altura (em metros)");alturaInformado=Double.parseDouble(informeAltura);if(alturaInformado<=0.1){StringalturaInvalido=String.format("Altura Inválida: %.2f",alturaInformado);JOptionPane.showMessageDialog(null,alturaInvalido,"Erro",0);System.exit(0);}IMC=pesoInformado/Math.pow(alturaInformado,2);Stringmensagem=String.format("Peso: %.2f ",pesoInformado);Stringmensagem1=String.format("\nAltura: %.2f ",alturaInformado);Stringmensagem2=String.format("\nIMC: %.2f ",IMC);JOptionPane.showMessageDialog(null,mensagem+mensagem1+mensagem2,"Mensagem",1);System.exit(0);}}
lucas_guj
Testei seu programa e parece estar funcionando normalmente. Menos quando aperta cancelar que ocorre uma exceção e o programa fecha. Qual erro em vermelho você se refere?
B
brunaum15
Entao isso q eu n sei fazer… Ao clicar em cancelar, o programa fechar sem da erro…
Eu quero q clique em cancelar e o programa feche normal…
Cara isso é uma exceção. Já estudo exceção? Eu só dei uma passada rápida, nem fui a fundo. Eu iria falar para você tratar o botão cancelar, mas pelo visto ele não é um botão separado, e deve estar acoplado ao JOptionPane. Então o que eu faria? Dar uma lida na Java API a classe JOptionPane e ver suas propriedades e o metodo showInputDialog. Independente do que você for fazer eu vou ler de qualquer jeito, porque te ajudando eu estou aprendendo também. Mas eu aconselho você a procurar lá e ler. Quando eu tiver tempo aqui te respondo se eu conseguir resolver.
lucas_guj
Cara, consegui. Acrescenta a verificação if no seu código:
StringinformePeso=JOptionPane.showInputDialog(null,"Informe o seu peso (em kilogramas)");if(informePeso==null){
System.exit(0);
}
D
daniferreira
o lucas guj ja respondeu
D
daniferreira
o jeito que eu faço é diferente eu cooloco input dialog mais d outra forma…
lucas_guj
Como? Posta ai para a gente ver. Ter várias maneiras de se fazer não é problema. Ai ele decide qual o melhor para ele.
D
daniferreira
importjava.util.*;importjavax.swing.JOptionPane;publicclassnovo{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubdoublepeso,altura,imc;peso=Double.parseDouble(JOptionPane.showInputDialog("digite o peso"));altura=Double.parseDouble(JOptionPane.showInputDialog("digite a altura"));if(peso>0.5){JOptionPane.showMessageDialog(null,"peso válido");}else{JOptionPane.showMessageDialog(null,"peso inválido");}if(altura>0.1){JOptionPane.showMessageDialog(null,"Altura Válida");}else{JOptionPane.showMessageDialog(null,"Altura inválida");}imc=peso*Math.pow(altura,2);JOptionPane.showMessageDialog(null,"o imc é "+imc);}}
D
daniferreira
faltou algumas coisas é só ele acrescenta q funfa…é q to com preguiça mesmo :XXXXX
D
daniferreira
se ele se basea no código dele ali encima ja da pra ver :X oq falta
D
daniferreira
tem umas coisas pra ajeita mais é quase isso…
D
daniferreira
arrumei melhor um pouco agoraa faltoou a parte do system.exit(0) que da pra ele ver o que pode fazer nesse codigo ou vc mesmo lucas ajuda ai....eu vou ter q sair se cuidaa espero ter ajudado....
importjavax.swing.JOptionPane;publicclassnovo{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubdoublepeso,altura,imc;peso=Double.parseDouble(JOptionPane.showInputDialog("digite o peso"));if(peso>0.5){JOptionPane.showMessageDialog(null,"peso válido");}if(peso<0.5){JOptionPane.showMessageDialog(null,"peso inválido");}JOptionPane.showMessageDialog(null,"o peso é "+peso);altura=Double.parseDouble(JOptionPane.showInputDialog("digite a altura"));if(altura>0.1){JOptionPane.showMessageDialog(null,"Altura Válida");}if(altura<0.1){JOptionPane.showMessageDialog(null,"Altura inválida");}JOptionPane.showMessageDialog(null,"a altura é "+altura);imc=peso*Math.pow(altura,2);JOptionPane.showMessageDialog(null,"o imc é "+imc);}}
lucas_guj
Eu não entendi porque você fez duas verificações, de uma valida e uma nao valida. Acredito que só uma bastava, dizendo que era invalido, e se fosse valido ele ja armazena e pula para o proximo dado a ser inserido. Me explica o melhor o porque você fez isso tudo e o que quer que eu ajude pois não entendi muito bem. O que ele queria era apenas sair sem lançar exceção quando fosse cancelar. ACREDITO eu. Não tenho certeza. Estou na espera da resposta dele.
D
daniferreira
entaoo tbm nao entendi direito eu fiz isso de acordo com o enunciado mais se ele quer sair
depois eu chego em casa e vejo…mais agora to no servico ele tbm tem q responder ne sumiu…
D
daniferreira
importjava.util.*;importjavax.swing.JOptionPane;publicclassnovo{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubdoublepeso,altura,imc;peso=Double.parseDouble(JOptionPane.showInputDialog("digite o peso"));if(peso>0.5){JOptionPane.showMessageDialog(null,"peso válido");}if(peso<=0.5){JOptionPane.showMessageDialog(null,"peso inválido");JOptionPane.showMessageDialog(null,peso,"Erro",0);System.exit(0);}JOptionPane.showMessageDialog(null,"o peso é "+peso);altura=Double.parseDouble(JOptionPane.showInputDialog("digite a altura"));if(altura>0.1){JOptionPane.showMessageDialog(null,"Altura Válida");}if(altura<=0.1){JOptionPane.showMessageDialog(null,"Altura inválida");JOptionPane.showMessageDialog(null,altura,"Erro",0);System.exit(0);}JOptionPane.showMessageDialog(null,"a altura é "+altura);imc=peso*Math.pow(altura,2);JOptionPane.showMessageDialog(null,"o imc é "+imc);}}
pronto exercicio completo agora se ele nao quer as duas verificações é só tirar os dois ifs que esta verificando e prontoo.