Ajudinha Basica

8 respostas
guhhh

Bem galera...to meio que aprendendo no java ainda..ai o seguinte..estou fazendo este calculo ai soh pra ter um peso ideal certo..

sendo a formulo para mulheres: PESOIDEAL = ((62.1*altura)-44.7)

sendo a formula para homens: PESO IDEAL = ((72.7*altura)-58)

bem ai quando eu tento colocar pra multiplicar esses numeros * o peso ele fala que nao pode converter double para float ou algo no tipo...bem gostaria de saber como posso fazer o numero que eu vou ler * algum numero com ,

segue fonte abaixo:

import javax.swing.JOptionPane;


public class PesoIdeal {

	/**
	 * @param arg
	 */
	public static void main(String[] args) {
		String peso = null;
		float valorPeso = 0;
		float valorPesoIdeal = 0;
		String altura = null;
		float valorAltura = 0;
		String sexo = null;
		int valorSexo = 0;
		
		//Seleção de Opcao 
		sexo = JOptionPane.showInputDialog ("Digite 1 - Masculino // 2 - Feminino");
		valorSexo = Integer.parseInt(sexo);
		
		// Condicional 1 Para Masc
		
		if (valorSexo==1){
			JOptionPane.showMessageDialog (null,"PESO MASCULINO SELECIONADO");
			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
			altura = JOptionPane.showInputDialog ("Digite a sua altura em Metros");
			
		//	Conversoes String para Float
			valorPeso = Float.parseFloat(peso);
			valorAltura = Float.parseFloat(altura);
			
			valorPesoIdeal = ((valorAltura*72)-58);
			
			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
						
		}
		
		// Condicional 2 Para Fem
		
		if (valorSexo==2){
			JOptionPane.showMessageDialog(null,"PESO FEMININO SELECIONADO");
			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
			altura = JOptionPane.showInputDialog("Digite a sua altura em Metros");
			
		//	Conversoes String para Float
			valorPeso = Float.parseFloat(peso);
			valorAltura = Float.parseFloat(altura);
			
			
			valorPesoIdeal = ((valorAltura*62)-44);
			
			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
			
		}

	}

}

8 Respostas

diego2005

Rodei o seu programa aqui e funcionou certinho…

T+

gomesrod
Para mim também funcionou certinho... apenas uma dica, evite o máximo possível a duplicação de código. Por exemplo, ao invés de fazer:
if (valorSexo==1){
 			JOptionPane.showMessageDialog (null,"PESO MASCULINO SELECIONADO");
 			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
 			altura = JOptionPane.showInputDialog ("Digite a sua altura em Metros");
 			
 		//	Conversoes String para Float
 			valorPeso = Float.parseFloat(peso);
 			valorAltura = Float.parseFloat(altura);
 			
 			valorPesoIdeal = ((valorAltura*72)-58);
 			
 			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
 						
 		}
 		
 		// Condicional 2 Para Fem
 		
 		if (valorSexo==2){
 			JOptionPane.showMessageDialog(null,"PESO FEMININO SELECIONADO");
 			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
 			altura = JOptionPane.showInputDialog("Digite a sua altura em Metros");
 			
 		//	Conversoes String para Float
 			valorPeso = Float.parseFloat(peso);
 			valorAltura = Float.parseFloat(altura);
 			
 			
 			valorPesoIdeal = ((valorAltura*62)-44);
 			
 			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
 			
 		}
Tente assim:
JOptionPane.showMessageDialog(null, "PESO MASCULINO SELECIONADO");
		peso = JOptionPane.showInputDialog("Digite o peso em KG");
		altura = JOptionPane.showInputDialog("Digite a sua altura em Metros");

		// Conversoes String para Float
		valorPeso = Float.parseFloat(peso);
		valorAltura = Float.parseFloat(altura);

		// Primeiro caso - masculino
		if (valorSexo == 1) {

			valorPesoIdeal = ((valorAltura * 72) - 58);

		// Segundo caso - feminino
		} else if (valorSexo == 2) {
			
			valorPesoIdeal = ((valorAltura * 62) - 44);

		} else {
			// Sair com erro....
		}
		JOptionPane.showMessageDialog(null,
				"O Peso ideal para sua altura é de " + valorPesoIdeal);
ckitano

aqui tambem funcionou …
posta a mensagem do erro ai pra gente tentar ajudar!
abraços

guhhh

Tipo…eu mandei o algoritmo funcionando mais minha duvida eh a seguinte…se eu tentar ali na parte que calcula o peso aonde tem a multiplicação…eu gostaria de saber porque que quando eu ponho ali por exemplo " valorPesoIdeal = ((valorAltura*62.4)-44.1); " acrescentei ali do lado um ponto…no caso o numero ficou 62.4 por exemplo assim ele num da certo…oque eu estou fazendo de erro? Nao posso multiplicar numeros float * algum outro com casa decimal ?

guhhh
guhhh:
Tipo....eu mandei o algoritmo funcionando mais minha duvida eh a seguinte...se eu tentar ali na parte que calcula o peso aonde tem a multiplicação...eu gostaria de saber porque que quando eu ponho ali por exemplo " valorPesoIdeal = ((valorAltura*62.4)-44.1); " acrescentei ali do lado um ponto..no caso o numero ficou 62.4 por exemplo assim ele num da certo...oque eu estou fazendo de erro? Nao posso multiplicar numeros float * algum outro com casa decimal ?

tipo se eu fizer assim ele da erro...reparem bem na virgula...

import javax.swing.JOptionPane;
 
 
 public class PesoIdeal {
 
 	/**
 	 * @param arg
 	 */
 	public static void main(String[] args) {
 		String peso = null;
 		float valorPeso = 0;
 		float valorPesoIdeal = 0;
 		String altura = null;
 		float valorAltura = 0;
 		String sexo = null;
 		int valorSexo = 0;
 		
 		//Seleção de Opcao 
 		sexo = JOptionPane.showInputDialog ("Digite 1 - Masculino // 2 - Feminino");
 		valorSexo = Integer.parseInt(sexo);
 		
 		// Condicional 1 Para Masc
 		
 		if (valorSexo==1){
 			JOptionPane.showMessageDialog (null,"PESO MASCULINO SELECIONADO");
 			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
 			altura = JOptionPane.showInputDialog ("Digite a sua altura em Metros");
 			
 		//	Conversoes String para Float
 			valorPeso = Float.parseFloat(peso);
 			valorAltura = Float.parseFloat(altura);
 			
 			valorPesoIdeal = ((valorAltura*72.1)-58);
 			
 			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
 						
 		}
 		
 		// Condicional 2 Para Fem
 		
 		if (valorSexo==2){
 			JOptionPane.showMessageDialog(null,"PESO FEMININO SELECIONADO");
 			peso = JOptionPane.showInputDialog ("Digite o peso em KG");
 			altura = JOptionPane.showInputDialog("Digite a sua altura em Metros");
 			
 		//	Conversoes String para Float
 			valorPeso = Float.parseFloat(peso);
 			valorAltura = Float.parseFloat(altura);
 			
 			
 			valorPesoIdeal = ((valorAltura*62.4)-44); 			
 			JOptionPane.showMessageDialog(null,"O Peso ideal para sua altura é de "+valorPesoIdeal);
 			
 		}
 
 	}
 
 }
D

Fala rapaz!
Entao , neste seu ultimo codigo , eh soh fazer um casting com float

valorPesoIdeal = (float) ((valorAltura*62.4)-44);

faça isso nos dois lugares que aparece a variavel valorPesoIdeal
Creio que seja isso!

Flw!

diego2005

danielsan8787:
Fala rapaz!
Entao , neste seu ultimo codigo , eh soh fazer um casting com float

valorPesoIdeal = (float) ((valorAltura*62.4)-44);

faça isso nos dois lugares que aparece a variavel valorPesoIdeal
Creio que seja isso!

Flw!

Isso por que um número ponto flutuante é double por padrão, então:

float f1 = 1.2; // não funciona float f2 = 1.2f; // agora sim

T+

guhhh

diego2005:
danielsan8787:
Fala rapaz!
Entao , neste seu ultimo codigo , eh soh fazer um casting com float

valorPesoIdeal = (float) ((valorAltura*62.4)-44);

faça isso nos dois lugares que aparece a variavel valorPesoIdeal
Creio que seja isso!

Flw!

Isso por que um número ponto flutuante é double por padrão, então:

float f1 = 1.2; // não funciona float f2 = 1.2f; // agora sim

T+

a sim agora deu certo…agradeço então diego e a todos que me ajudaram mais uma vez…abcs

Criado 8 de agosto de 2007
Ultima resposta 9 de ago. de 2007
Respostas 8
Participantes 5