In a population, the birth rate is the percentage increase of the population due
ID: 642626 • Letter: I
Question
In a population, the birth rate is the percentage increase of the population due to births, and the death rate is the percentagedecrease of the population due to deaths. Write a program that asks for the following:
The starting size of a population (minimum 2) (Prompt Enter starting size: )
The annual birth rate (Prompt Enter annual birth rate: )
The annual death rate (Prompt Enter annual death rate: )
The number of years to display (minimum 1) (Prompt Enter years to display: )
The program should then display the starting population and the projected population at the end of each year. It should use a function that calculates and returns the projected new size of the population after a year. The formula is
N = P(1 + B)(1 - D)
where N is the new population size, P is the previous population size, B is the birth rate, and D is the death rate. Annual birth rate and death rate are the typical number of births and deaths in a year per 1000 people, expressed as a decimal. So, for example, if there are normally about 32 births and 26 deaths per 1000 people in a given population, the birth rate would be .032 and the death rate would be .026.
Explanation / Answer
Below is the self-explanatory program as per your request..
public class NewPopulation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("The starting size of a population (minimum 2) (Prompt Enter starting size: )");
double population = scanner.nextDouble();
System.out.print("The annual birth rate (Prompt Enter annual birth rate: )");
double birthRate = scanner.nextDouble();
System.out.print("The annual death rate (Prompt Enter annual death rate: )");
double deathRate = scanner.nextDouble();
System.out.print("The number of years to display (minimum 1) (Prompt Enter years to display: )");
int numberOfYears = scanner.nextInt();
for (int year = 1; year <= numberOfYears; year++) {
population = getNewPopulationSize(population, birthRate, deathRate);
System.out.println(population);
}
}
public static double getNewPopulationSize(double population, double birthRate, double deathRate) {
return population * (1 + birthRate) * (1 - deathRate);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.