utroz,
voce pode resolver de n… maneiras.
uma delas seria vc cria um objeto para guardar as informacoes dia a dia.
nesse objeto vc colocaria:
-
o dia em questao (dia 1, dia2, dia3, …)
-
a quantidade de bacteria nesse dia.
como vc informou até o quinto dia vai sem o dobro do dia anterior.
aparti do sexto vc tem que verifica quantas morrerao
-
o lixo comsumido nesse dia.
depois crie um outro objeto que fara analise dessas informacoes.
segue um esboco que criei.
1 - Objeto Dia a Dia
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lab;
/**
*
* @author Jailes M S PAntoja
* @e-mail [email removido]
* @version 2011-03-27 17:56:32
*/
public class InfoDiaria {
private int dia = 0;
private int qtdBacteria = 0;
private double lixoConsumido = 0;
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getQtdBacteria() {
return qtdBacteria;
}
public void setQtdBacteria(int qtdBacteria) {
this.qtdBacteria = qtdBacteria;
}
public double getLixoConsumido() {
return lixoConsumido;
}
public void setLixoConsumido(double lixoConsumido) {
this.lixoConsumido = lixoConsumido;
}
@Override
public String toString() {
return "InfoDiaria{ : " + "dia=" + dia + ", qtdBacteria=" + qtdBacteria + ", lixoConsumido=" + lixoConsumido + '}';
}
}
=============================================
2 - Objeto para analisar as informacoes
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lab;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Jailes M S PAntoja
* @e-mail [email removido]
* @version 2011-03-27 18:01:32
*/
public class Acompanhamento {
private int diasAcompanhados = 0;
private int bacteriasIniciais = 0;
private List<InfoDiaria> diario = new ArrayList<InfoDiaria>();
private double pesoBacteria = 1;
public Acompanhamento() {
diasAcompanhados = 5;
bacteriasIniciais = 1;
analise();
}
public static void main(String[] vars){
Acompanhamento acompanhamento = new Acompanhamento();
}
private void analise() {
//anoto a informacao do primeiro dia
InfoDiaria diaAtual = new InfoDiaria();
//informa o dia
diaAtual.setDia(1);
//informo a quantidade bacterias inicias
diaAtual.setQtdBacteria(bacteriasIniciais);
//informo a quantidade lixo consumido que é metada qtd bacteria
diaAtual.setLixoConsumido( pesoBacteria / 2);
//adiciono informacao do dia no diario
diario.add(diaAtual);
for (int i = 1; i < diasAcompanhados; i++) {
int bactDiaAnterior = diario.get(i - 1).getQtdBacteria();
int bactDiaAtual = 0;
diaAtual = new InfoDiaria();
//informa o dia
diaAtual.setDia(i + 1);
if (i > 4) {
bactDiaAtual = atualizaBacteria(i + 1, bactDiaAnterior);
} else {
bactDiaAtual = (bactDiaAnterior * 2);
}
//informo a quantidade bacterias do dia atual
diaAtual.setQtdBacteria(bactDiaAtual);
//informo a quantidade lixo consumido que é metada qtd bacteria
diaAtual.setLixoConsumido(bactDiaAtual / 2);
//adiciono informacao do dia no diario
diario.add(diaAtual);
}
System.out.println(diario.get(diasAcompanhados - 1));
double lixoTotal = 0.0;
for(InfoDiaria dia : diario){
lixoTotal += dia.getLixoConsumido();
}
System.out.println("Lixo total consumido : " + lixoTotal);
}
private int atualizaBacteria(int diaAtual, int bactDiaAnterior) {
int bact4DiasAtraz = diario.get(diaAtual - 6).getQtdBacteria();
System.out.println("Bacteria a 4 dia atraz : " + bact4DiasAtraz);
int retorno = (bactDiaAnterior - bact4DiasAtraz) * 2;
return retorno;
}
}
analise, adapte, melhore.
at+