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 !!

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