Cálculo de IMC em Java ME
Este artigo explica adição de elementos em um formulário para entrada do usuário, manipulação destes dados e exibição do resultado.
Dados do artigo
Exemplo de código
Código fonte: File:TemplateCalculos.zip
Artigo
Criado por em
Última alteração feita por lpvalente
em 01 Jun 2012
Introdução
Este artigo explica através de um exemplo com o cálculo de IMC (Índice de Massa Corpórea) como criar uma app que lê dados de entrada do usuário, utiliza um método para manipular estes dados e gerar um resultado. Template para ajudar em leitura, conversão e manipulação de dados, assim como, a exibição para o usuário.
Código
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* Template para apps que precisem somente de entrada pela parte do usuário
* de alguns valores para cálculo.
* Neste template fiz um exemplo com somente o cálculo de IMC mas nada de
* verificação das faixas.
* Com este template temos exemplos de elementos de entrada de dados e exibição
* do resultado, assim como, método para cálculo e que também demonstra como
* se pode fazer conversão de tipos.
*
* @author fontao
*/
public class CalculoMidlet extends MIDlet implements CommandListener{
Display display;
TextField peso;
TextField altura;
Command cmdCalcular;
Command cmdExit;
StringItem resultadoIMC;
public CalculoMidlet(){
display = Display.getDisplay(this);
}
public void startApp() {
//Formulário onde são inseridos os componentes da tela
Form fmConteudo = new Form("Calcular IMC :)");
//Campo de Texto para o usuário entrar com o peso
//O tipo de entrada está como TextField.DECIMAL para que o usuário
//possa entrar com valores do tipo 56.20, 45
peso = new TextField("Qual seu peso?",null, 10, TextField.DECIMAL);
fmConteudo.append(peso);
//Campo de texto para o usuário entrar com a altura
altura = new TextField("E qual a sua altura?",null, 10, TextField.DECIMAL);
fmConteudo.append(altura);
//Botão de comando para calcular
cmdCalcular = new Command("Calcular", Command.SCREEN, 1);
fmConteudo.addCommand(cmdCalcular);
//Botão de comando para Sair
cmdExit = new Command("Sair", Command.EXIT, 0);
fmConteudo.addCommand(cmdExit);
//Item de String que é usado para exibir o resultado do cálculo
resultadoIMC = new StringItem("", "");
fmConteudo.append(resultadoIMC);
//Listener para escutar os eventos no formulário
fmConteudo.setCommandListener(this);
display.setCurrent(fmConteudo);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command c, Displayable d) {
//Se o comando clicado for o cmdCalcular
if (c == cmdCalcular){
//Então chama o método calcula()
calcula();
} else if (c == cmdExit){
//Se o comando clicado for o Sair
//Saia da app
destroyApp(true);
}
}
/**
* Método usado para calcular o valor do IMC utilizando os dados informados
* pelo usuário através dos TextFields
*/
public void calcula(){
double resultado;
//Double.parseDouble convete um valor no nosso caso do tipo String para
//double
double pesoValor = Double.parseDouble(peso.getString());
double alturaValor = Double.parseDouble(altura.getString());
//IMC = peso / (alturaValor*alturaValor);
resultado = pesoValor / (alturaValor * alturaValor);
resultadoIMC.setLabel("IMC:");
resultadoIMC.setText(String.valueOf(resultado));
}
}
Add categories below. Remove Category:Draft when the page is complete or near complete


(no comments yet)