5
respostas

Operações matemáticas em aplicativos.

Minha intenção é ser capaz de criar uma app em formato de formulário de dupla face. Na primeira face, três colunas de 25 células, cada, onde seria marcado como "PRESENTE" ou "NÃO PRESENTE", e calcular a média de quantos "PRESENTE" e quantos "NÃO PRESENTE" foram marcados para cada coluna. Na segunda face, inserir nomes de espécies (texto) e ao lado de cada nome, a quantidade de indivíduos de cada espécie presente (número) e em seguida calcular, ou filtrar, quantas espécies únicas foram encontradas (valores exclusivos). É possível realizar estas operações utilizando o Java? Consegui fazer sem problemas no Excel, porém, quero desenvolver uma App para dispositivos móveis de modo a facilitar os trabalhos em campo (sem acesso à internet) e tornar o procedimento mais amigável ao usuário do que uma planilha .xls!

5 respostas

É possível, contudo acho que terá que aprender a desenvolver em Mobile, certo? Este não seria o fórum ideal para obter essa resposta.

Na primeira face, três colunas de 25 células, cada, onde seria marcado como "PRESENTE" ou "NÃO PRESENTE", e calcular a média de quantos "PRESENTE" e quantos "NÃO PRESENTE" foram marcados para cada coluna.

Você precisaria criar um objeto que possui apenas um parâmetro para dizer se está presente ou não, do tipo booleano.

A folha 1 vai precisar de uma ArrayList.

public class Presenca {
private final Boolean presente;

public Presenca(boolean presente) {
    this.presente = presente;
    }
public Integer presenca() {
    return this.listaDePresentes.length();
    }
@Override
public String toString() {
    return Boolean.toString(presente);
    }
}

Agora, uma pergunta, pra que três colunas se o objeto só é Sim ou Não (Presente ou Não Presente)?!

Vou explicar melhor:

COLUNA 1: SEM COBERTURA VEGETAL;

COLUNA 2: CAPIM NATIVO OU COBERTURA HERBÁCEA;

COLUNA 3: COBERTURA LENHOSA;

A metodologia consiste em anotar qual tipo de cobertura vegetal está presente por 25 m de distância, realizando medições a cada 1 m. O que eu iria precisar é uma maneira de marcar quais coberturas são observadas a cada 1 m.

Neste caso, solo SEM COBERTURA, solo com COBERTURA HERBÁCEA ou LENHOSA.

Ao final da análise, calcular a média para cada tipo de cobertura. Lembrando que podem ocorrer dois tipos de cobertura na mesma célula ou medição.

Resumindo: Uma maneira de marcar se cada um dos tipos de cobertura vegetal está presente ou não, mais ou menos como um checklist.

public class Cobertura {
    private final String cobertura;

    public Cobertura (String cobertura) {
        this.cobertura = cobertura;
        }

    @Override
    public String toString() {
        return this.cobertura;
        }
    public void tipoDeCobertura(String tipo) {
        this.cobertura.equals(tipo);
    }

Ao criar a folha 1, ela chama o construtor da cobertura e diz o que tinha lá!

import java.util.ArrayList;
import java.util.List;

public class Folha1 {
    private List<Cobertura> desflorestada = new ArrayList<>();
    private List<Cobertura> lenha = new ArrayList<>();
    private List<Cobertura> herbacea = new ArrayList<>();

    public void adiciona(String cobertura) {
        if (cobertura.contentEquals("lenhosa")) {
            this.lenha.add(new Cobertura(cobertura));
        }
        if (cobertura.contentEquals("herbacea")) {
            this.herbacea.add(new Cobertura(cobertura));
        }
        if (cobertura.contentEquals("sem cobertura")) {
            this.desflorestada.add(new Cobertura(cobertura));
        }
    }

    public Integer semCobertura() {
        return this.desflorestada.size();
    }

    public Integer herbacea() {
        return this.herbacea.size();
    }

    public Integer lenhosa() {
        return this.lenha.size();
    }
}

Oi Lucas!

Sim, você vai conseguir fazer isso em Java e é muito importante você aprender a linguagem: as apps nativas para Android são desenvolvidas em Java!

Para dispositivos iOS (iPhones/iPads...) a linguagem usada é o Swift.

;)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software