×
Namespaces

Variants
Actions
Revision as of 10:13, 15 August 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cálculo de IMC em Java ME

From Nokia Developer Wiki
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.

Article Metadata

Exemplo de código
Artigo
Criado por awdrenfontao em 23 May 2012
Última alteração feita por hamishwillee em 15 Aug 2013

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));
}
}
This page was last modified on 15 August 2013, at 10:13.
140 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×