olá estou fazendo um aplicativo na facul para calcular IMC, mas tenho q chamar metodos dentro de outros metodos, e o metodo showMenu() está dando erro na linda q lê a opção e quando eu chamo ele no main(); alguem poderia me ajudar... obrigado a todos...
For input string: “” … você não está digitando o valor 1 ou 2??? Tá parecendo isso pois a entrada está “” por isso o NumberFormatException.
R
Rafa2012
hehe… vou mudar, mas o problema é o seguinte, quando eu clicar a opção 1, tenho q adicionar a pessoa, calcular o imc, e mostrar a classificação, que estão em outras classes…
eu posso fazer isso dentro do showMenu()?
R
Rafa2012
estou digitando 1 ou 2, pq da esse erro?
asousaj
Rafa2012:
hehe… vou mudar, mas o problema é o seguinte, quando eu clicar a opção 1, tenho q adicionar a pessoa, calcular o imc, e mostrar a classificação, que estão em outras classes…
eu posso fazer isso dentro do showMenu()?
Sim pode.
asousaj
Roda o código que postei(Baseado no seu) e vê se acontece e mesmo erro.
Como você está executando? É via IDE ou direto no prompt?
R
Rafa2012
como faço pra resolver esse erro amigo?
R
Rafa2012
via IDE, vou tentar aki…
R
Rafa2012
assim dá certo, o meu tb deu, mas quando instanciei o objeto e chamei os metodos dentro do case 1: apareceu o erro…
R
Rafa2012
deu o mesmo erro amigo, eu criei um objeto atv do tipo Ativ02, e chamei o metodo atv.lerDadosPessoa(); ae aparece o mesmo erro…
asousaj
Tá facil Rafa, vamos por partes:
1º - No seu case 1 tem "atv.lerDadosPessoa(); " esse metodo tem return tipo “Pessoa”, onde vc esta armazenando o resultado?
Posta ai as outras 2 classes.
R
Rafa2012
packagePOOexer02;publicclassPessoa{privateStringnome;privateintidade;privatedoublepeso;privatedoublealtura;publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicintgetIdade(){returnidade;}publicvoidsetIdade(intidade){this.idade=idade;}publicdoublegetPeso(){returnpeso;}publicvoidsetPeso(doublepeso){this.peso=peso;}publicdoublegetAltura(){returnaltura;}publicvoidsetAltura(doublealtura){this.altura=altura;}protectedvoidfinalize(){System.out.println(" Objeto destruído pelo garbagecollection");}}
R
Rafa2012
packagePOOexer02;publicclassIMC{privatestaticIMCinstancia;publicIMC(){}publicstaticIMCnewInstance(){if(instancia==null)instancia=newIMC();returninstancia;}publicdoublecalIMC(doublealtura,doublepeso){doubleimc;imc=peso/((altura)*(altura));System.out.printf("\n\n O Seu IMC é : %3.1f!!!",imc);returnimc;}publicStringgetClassificacaoIMC(doubleimc){if(imc<17){return("\n Muito Abaixo do Peso!!!");}elseif(imc<18.50){return("\n Abaixo do Peso!!!");}elseif(imc<25.0){return("\n Peso Normal!!!");}elseif(imc<30.0){return("\n Acima do Peso!!!");}elseif(imc<35.0){return("\n Obesidade I!!!");}elseif(imc<40.0){return("\n Obesidade II (Severa)!!!!!!");}elsereturn("\n Obesidade III (Mórbida)!!!!!!");}}
tah ae amigo…
asousaj
Da uma olhadinha ai, tentei alterar o minimo possivel seu código. Senão ia dar mais trabalho pra vc entender.
Use membros estáticos quando realmente necessários, removi um metodo.