Cara, uma ultima modificacao do seu codigo. Voce nao precisa calcular os coeficientes em todas as iteraçoes, eh perda de tempo (apenar de seu programa ser simples), entao inclua o calculo dos coeficientes dentro da condicao if, como a seguir:
Veja que o System.out.printf esta dentro da clausula IF, pois do contrario voce vai imprimir populacao == 0 ate 90 anos e de repente voce tera mais de 7.000.000 no ano 100, o que eh impossivel, pois uma populaçao nao pode surgir do NADA!..rsr
[quote=Vini Fernandes]Cara, uma ultima modificacao do seu codigo. Voce nao precisa calcular os coeficientes em todas as iteraçoes, eh perda de tempo (apenar de seu programa ser simples), entao inclua o calculo dos coeficientes dentro da condicao if, como a seguir:
double populacaoEurasia = 1000;
double populacaoEstasia = 5000;
double populacaoOceania = 10000;
System.out.printf("%5s%30s%30s%30s\n", "ano", "Eurasia", "Estasia", "Oceania");
//pelo enunciado deve calcular para todos os anos, mesmo mostrando só de 10 em 10 anos
// e começa a calcular no ano 1, já que o ano 0 é o dos dados iniciais
for (int i = 1; i <= 1000; i ++) {
populacaoEurasia = populacaoEurasia * 1.02;
populacaoEstasia = populacaoEstasia * 1.01;
populacaoOceania = populacaoOceania * 1.005;
if(i%100 == 0){ //acontece desastre
populacaoEurasia = populacaoEurasia/2;
populacaoEstasia = populacaoEstasia/2;
populacaoOceania = populacaoOceania/2;
}
if(i%10 == 0){ //De 10 em 10 anos mostra a população
System.out.printf("%5d%,30.2f%,30.2f%,30.2f\n", i, populacaoEurasia, populacaoEstasia, populacaoOceania);
}
}
renamed , meu codigo e o do sgtbreitner sao equivalentes, porem, o meu evita que ele faça os calculos do coeficiente em um momento que nao interessa, por exemplo: suponha i == 55, mas i nao eh multiplo de 100, entao para que calcular o coeficiente? Interessa apenas aqueles em que i % 100 == 0. Se o calculo do coeficiente consumisse 10 minutos teriamos um alto custo de processamento. Foi isso o que quis dizer…rsrs
Além do mais, exibir uma saida de 10 em 10 anos que nao mostra alteracao do tamanho da populacao eh bem esquisito. Repentinamente do ano 90 a populacao pula de 0 para 7.000.000 no ano 100! Isso eh pra la de estranho…rsrs
t+
[quote=Vini Fernandes]renamed , meu codigo e o do sgtbreitner sao equivalentes, porem, o meu evita que ele faça os calculos do coeficiente em um momento que nao interessa, por exemplo: suponha i == 55, mas i nao eh multiplo de 100, entao para que calcular o coeficiente? Interessa apenas aqueles em que i % 100 == 0. Se o calculo do coeficiente consumisse 10 minutos teriamos um alto custo de processamento. Foi isso o que quis dizer…rsrs
Além do mais, exibir uma saida de 10 em 10 anos que nao mostra alteracao do tamanho da populacao eh bem esquisito. Repentinamente do ano 90 a populacao pula de 0 para 7.000.000 no ano 100! Isso eh pra la de estranho…rsrs
t+[/quote]
Eae kra…
Na verdade, ele precisa calcular porque para saber a população do ano 100, por exemplo, ele precisa saber a do ano 99, e pra saber a do ano 99, a do ano 98, e assim por diante…
Do jeito que você propôs, teremos a mesma população durante 100 anos, porque ele só calculará qnd i for múltiplo de 100, entendeu o que eu quis dizer?