Programa Informe Peso. Duvidas

Turma… com essa questao q o teacher passou… eu fiz um codigo pra tentar iniciar mas como sempre nao sou tao bom quanto vcs… peço entao a juda de voces caros colegas.

Eis a Questao do individuo:

Escreva um aplicativo que, dados um numero inteiro e um caractere - representando respectivamente a altura e o sexo de uma pessoa, sendo que o sexo masculino representado por “M” ou “m” e o sexo feminino por “F” ou “f”, retorna o peso supostamente ideal para essa pessoa, de acordo com a tabela:

Homem: (72,2 x altura)-58 e Mulher: (62,1 x altura)-44,7.

eis o que ja inventei… alguem pode me dá algumas dicas de onde estou errando e como posso corrigir.?


import javax.swing.JOptionPane;
public class InformaPeso{
    public static void main(String args[]){
    float Homem=72,2f
    float Mulher=62,1f
    int altura = Integer.parseInt(JoptionPane.showInputDialog("Digite a Altura");
    char sexo = (JoptionPane.showInputDialog("Digite o Sexo. M ou F");
    int peso(0);
    if (sexo==M){
        peso = Homem*altura;
        JOptionPane.showMessageDialog(null," O peso ideal para este Homem é" + peso);
    }
    else{
        peso = Mulher*altura;
       JOptionPane.showMessageDialog(null," O peso ideal para esta Mulher é" + peso);
    }
    System.exit(0)
    
}
}

Eu acredito q vc deva colocar a varivel peso tb com o valor float !!

:wink:

Valeu FS,

Mas nao é esse o problema exato, ele diz q o problema é de indentificador. Mas qual?

Da uma corrigida nesses teus JOptionPane ( o teu o “o” ta minusculo), la no System.exit (0) ta faltando o “;” e ta faltadno os “;” das tuas variaveis float, e elas sao dividas com “.” e naum com virgulas tipo “2.5f” e naum “2,5f”, essa altura eh em que formato? tipo 120 cm ou 1.70 m entende pq c for com casas tua altura naum vai poder ser em “int” ve essas coisinhas ae e depois diz ae c deu certo.

Agora eu fiz alguma mudanças… Mas tá dando um erro diferente.

Esse é codigo que mudei.


import javax.swing.JOptionPane; 
public class InformaPeso{ 
    public static void main(String args[]){ 
    double peso;  
    float PesoHomem=72.2f; 
    float PesoMulher=62.1f;
    float altura = Float.parseFloat(JOptionPane.showInputDialog("Digite a Altura")); 
    char sexo = Char.parseChar (JOptionPane.showInputDialog("Digite o Sexo. M ou F"));
 
    if ((sexo.equalsIgnoreCase("m"))||(sexo.equalsIgnoreCase("M"))){ 
        peso = (72.7 * altura) - 58;
        return(peso);
        JOptionPane.showMessageDialog(null," O peso ideal para este Homem é" + peso); 
     }
      else{
          if ((sexo.equalsIgnoreCase("f"))||(sexo.equalsIgnoreCase("F")))
        peso = (62.1 * altura) - 44.7;
       return(pesoIdeal);
       JOptionPane.showMessageDialog(null," O peso ideal para esta Mulher é" + peso); 
     
    System.exit(0); 
}
} 
} 

A linha do erro. o Erro é “Cannot resolve Symbol” - variable char.


    char sexo = Char.parseChar (JOptionPane.showInputDialog("Digite o Sexo. M ou F"));

Alguma sugestao?

MigMax

Cara, modifiquei algumas coisas, o código tá funcionando

  • alterei o tipo sexo de char pra String (não sei se serve pra ti)
  • inicializei peso com 0
  • tirei os returns, acho que só serve para retornar valores em funções

tá funcionando , vê aí e compara, te aconselho à usar alguma IDE, tipo eclipse, só no txt o cara aprende mas é mais penoso.

[code]import javax.swing.JOptionPane;
public class InformaPeso {
public static void main(String args[]) {
double peso = 0;
float PesoHomem = 72.2f;
float PesoMulher = 62.1f;
float altura = Float.parseFloat(JOptionPane.showInputDialog(“Digite a Altura”));
String sexo = (JOptionPane.showInputDialog(“Digite o Sexo. M ou F”));

    if ((sexo.equalsIgnoreCase("m")) || (sexo.equalsIgnoreCase("M"))) {
        peso = (72.7 * altura) - 58;
        JOptionPane.showMessageDialog(null, " O peso ideal para este Homem é" + peso);
    } else {
        if ((sexo.equalsIgnoreCase("f")) || (sexo.equalsIgnoreCase("F")))
            peso = (62.1 * altura) - 44.7;
        JOptionPane.showMessageDialog(null, " O peso ideal para esta Mulher é" + peso);
        System.exit(0);
    }
}

}[/code]

Akrause, show de bola irmao…

mas me responde uma coisa, o lance da String eu entendi e nao so serve como resolveu o problema, mas me explica pq vc retirou o return peso das duas condicoes?

Pronto, tá compilando legal. da uma olhada no código abaixo:

[code]
import javax.swing.JOptionPane;
public class InformaPeso{
public static void main(String args[]){
float Homem=72.2f;
float Mulher=62.1f;
float altura = Float.parseFloat(JOptionPane.showInputDialog(“Digite a Altura”));
char sexo = (JOptionPane.showInputDialog(“Digite o Sexo. M ou F”)).charAt( 0 );
int peso = 0;

	if (sexo == 'M' || sexo == 'm' ){ 
   		peso = (int)(( 72.2f * (float)altura ) - 58.0f); 
   		JOptionPane.showMessageDialog(null," O peso ideal para este Homem é " + peso); 
	} 
	else{ 
   		peso = (int)(( 62.1f * (float)altura ) - 44.7f); 
	   JOptionPane.showMessageDialog(null," O peso ideal para esta Mulher é " + peso); 
	} 
	
	System.exit(0); 
}

} [/code]

Obs.: só achei que as fórmulas foram um pouco injustas comigo pois o programa falou que eu tô 10 kilos além do normal (gordão) :lol:

[quote=“MigMax”]Akrause, show de bola irmao…

mas me responde uma coisa, o lance da String eu entendi e nao so serve como resolveu o problema, mas me explica pq vc retirou o return peso das duas condicoes?[/quote]

É que o método showInputDialog de JOptionPane retorna um String e não um char. No código acima que eu acabei de enviar, repare que eu usei um método charAt( 0 ) que retornou para sexo o caractere do índice 0 do String digitado na caixa de dialogo.

Wanderson,

cara tu é muito bom nisso mesmo sabia?? Meu professor até reconheceu que nao sabia fazer issp usando Char pq nao se lembrava desse lance do método charAt( 0 ), e agora eu vou mostrar pra ele como vc fez, e vou dizer a ele q venha visitar o forum pois acho que aqui ele vai aprender muito mais e quem sabe ensinar melhor pra gente.

show de bola brother.

MigMax

MigMax, sabe quem o teu professor ta me lembrando? o meu. 8O

[quote=“MigMax”]Wanderson,
cara tu é muito bom nisso mesmo sabia?? Meu professor …
MigMax[/quote]
Ainda sou muito fraquinho… Todos nós temos muito o que aprender. Aqui nesse fórum tenho certeza que vc encontrará caras muuuiiitttooo melhores que eu. :joia:

Olha amigos,

Acho que o mais importante nisso tudo, alem de aprender é claro. É amizade que estou fazendo com vcs. Isso sem duvida pra mim é muito importante mesmo.

Abraços.

MigMax