Cálculo IMC

17/03/2016

0

Olá! Estou iniciando em Java ME como estudante, e consegui utilizar um código para criação de uma calculadora.

Porém, estou tentando transformar essa calculadora em uma calculadora de Indice de Massa Corporal, onde o resultado do indice é: imc=peso(altura*altura)

Creio que no meu código está faltando alguma coisa, pois não consigo exibir o resultado na ultima caixa de texto. Segue o que desenvolvi, onde as linhas comentadas são do antigo código da calculadora básica:

package calculoimc5;

import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;


public class calculoimc extends MIDlet
implements CommandListener {
private Display tela;
private Form form;
private Command cmdSair;


private ChoiceGroup operacoes;
private TextField peso;
private TextField altura;
private TextField valorimc;
private Command cmdCalcular;


public calculoimc() {


tela = Display.getDisplay(this);


cmdSair = new Command("Sair",
Command.EXIT, 1);
cmdCalcular = new Command("Calcular IMC",
Command.OK, 1);


form = new Form("Calculadora IMC");


//criarOperacoes();
criarCampos();



form.append(peso);
form.append(altura);
//form.append(operacoes);
form.append(valorimc);


form.addCommand(cmdSair);
form.addCommand(cmdCalcular);
form.setCommandListener(this);

}


public void startApp() {
tela.setCurrent(form);
}


public void pauseApp() {
}


public void destroyApp(boolean unconditional) {
notifyDestroyed();
}


public void commandAction(Command c, Displayable d) {
if (c == cmdSair) {
destroyApp(true);
}else if ( c == cmdCalcular){

//try {

float pes = Float.parseFloat(peso.getString());
float alt = Float.parseFloat(altura.getString());
float imc = pes/(alt*alt);


//switch(operacoes.getSelectedIndex()){
//case 0: imc = (pes+alt); break;
//case 1: imc = (pes-alt); break;
//case 2: imc = (pes/alt); break;
//case 3: imc = (pes*alt); break;
//}

valorimc.setString(String.valueOf(imc));

//} catch (Exception e) {
//valorimc.setString("Valor inválido.");
//}
}
}



//public void criarOperacoes(){
//operacoes = new ChoiceGroup("Operação:", ChoiceGroup.POPUP);
//operacoes.append("Soma", null);
//operacoes.append("Subtração", null);
//operacoes.append("Divisão", null);
//operacoes.append("Multiplicação", null);
//operacoes.setLayout(Item.LAYOUT_EXPAND);
//}

public void criarCampos(){
peso = new TextField("Peso:", "", 4, TextField.DECIMAL);
peso.setLayout(Item.LAYOUT_EXPAND);

altura = new TextField("Altura:", "", 4, TextField.DECIMAL);
altura.setLayout(Item.LAYOUT_EXPAND);

valorimc = new TextField("Valor do seu IMC:", "", 4, TextField.UNEDITABLE);
valorimc.setLayout(Item.LAYOUT_EXPAND);


}

}





Desde já agradeço toda e qualquer ajuda. Abraços!
Cesar Euardo

Cesar Euardo

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar