Amigos, neste programinha é necessário calcular o peso ideal conforme o sexo masculino ou feminino, eu fiz assim, digam se esta certo.
public class Segundo {
[code] public static void main(String[] args) {
double a, pim, pif ;
char s;
pim = (72.7 * a) - 58;
pif = (62.1 * a) - 44.7;
a = InOut.leDouble("Entre com sua altura");
s = InOut.leChar ("Entre com seu sexo");
if ( s == ‘m’){
pi = pim;
System.out.println(" Seu peso ideal eh"+ pi);
}else if(s == 'f'){
pi = pif;
System.out.println("Seu peso ideal eh"+pi);
}
2 - O que é o “peso ideal”? É baseado no IMC da pessoa? Se sim, você tem que saber a fórmula e para saber se o seu código está correto, muito simples.
Use uma calculadora ou procure na net mesmo que deve ter zilhões de páginas que fazem isso, digita 3 tipos diferentes de entrada para homem e mulher. Anote os valores e aplique em seu programa e veja se obtém os mesmos resultados.
Observação: pesquise a fórmula corretamente e tenha certeza que está calculando corretamente, para depois testar os valores em seu código. Pegar valores errados como referência não resolve
2 - O que é o “peso ideal”? É baseado no IMC da pessoa? Se sim, você tem que saber a fórmula e para saber se o seu código está correto, muito simples.
Use uma calculadora ou procure na net mesmo que deve ter zilhões de páginas que fazem isso, digita 3 tipos diferentes de entrada para homem e mulher. Anote os valores e aplique em seu programa e veja se obtém os mesmos resultados.
Observação: pesquise a fórmula corretamente e tenha certeza que está calculando corretamente, para depois testar os valores em seu código. Pegar valores errados como referência não resolve
double a, pim, pif ;
char s;
pim = (72.7 * a) - 58;
Da problema aqui porque você tenta multiplicar o “a” que não é inicializado.
Você primeiro deve receber o “a” para depois então fazer o calculo.
[quote=henriqueluz]double a, pim, pif ;
char s;
pim = (72.7 * a) - 58;
Da problema aqui porque você tenta multiplicar o “a” que não é inicializado.
Você primeiro deve receber o “a” para depois então fazer o calculo.
Abraço,[/quote]
Ok, o a representa a altura do usuario, e eh o proprio usuario que ira indicar o valor de a, como devo atribuir ?
Essa atribuição não esta sendo feita nessa linha:
Não. Vou explicar, de acordo com o seu código escrito no primeiro post.
double a, pim, pif ;
char s;
/* Aqui você tenta fazer o cálculo ANTES de receber o valor da variável "a"
Logo como o "a" ainda não foi inicializado, dá erro.
*/
pim = (72.7 * a) - 58;
pif = (62.1 * a) - 44.7;
//Você só está recebendo o "a" depois do cálculo, por isso não funciona
a = InOut.leDouble("Entre com sua altura");
Entendeu agora?
Por isso falei para você colocar a atribuição a = InOut.leDouble(“Entre com sua altura”); antes de fazer seu cálculo.
Ok?
[quote=henriqueluz]Não. Vou explicar, de acordo com o seu código escrito no primeiro post.
double a, pim, pif ;
char s;
/* Aqui você tenta fazer o cálculo ANTES de receber o valor da variável "a"
Logo como o "a" ainda não foi inicializado, dá erro.
*/
pim = (72.7 * a) - 58;
pif = (62.1 * a) - 44.7;
//Você só está recebendo o "a" depois do cálculo, por isso não funciona
a = InOut.leDouble("Entre com sua altura");
Entendeu agora?
Por isso falei para você colocar a atribuição a = InOut.leDouble(“Entre com sua altura”); antes de fazer seu cálculo.
Ok?[/quote]
Falou amigo, entendi.
Consertei aki, mas vc acha que tem mais algum erro no codigo, ou ta beleza?
public static void main(String[] args) {
double a = 0, pi = 0;
char s;
a = 1.53; // ALTURA
s = 'f'; // SEXO
if (s == 'm') {
pi = (72.7 * a) - 58;
System.out.println(pi);
} else if (s == 'f') {
pi = (62.1 * a) - 44.7;
System.out.println(pi);
}
}