Namespaces
Variants
Actions

Cálculo de IMC em Java ME

Jump to: navigation, search


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

This page was last modified on 1 June 2012, at 23:12.
201 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved