Programa Informe Peso. Duvidas

12 respostas
M

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)
    
}
}

12 Respostas

F

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

:wink:

M

Valeu FS,

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

S

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.

M

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

A

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.

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);
        }
    }
}
M

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?

W
Pronto, tá compilando legal. da uma olhada no código abaixo:
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); 
	}
}

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:

W

“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?

É 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.

M

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

M

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

W

“MigMax”:
Wanderson,
cara tu é muito bom nisso mesmo sabia?? Meu professor …
MigMax

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:

M

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

Criado 12 de abril de 2004
Ultima resposta 14 de abr. de 2004
Respostas 12
Participantes 6