package edu.upenn.cit594.processor; import java.util.ArrayList; import edu.upenn.cit594.util.CovidData; import edu.upenn.cit594.util.Population; import edu.upenn.cit594.util.Property; public class TotalMarketValuePerVaccinationPerCapita { public static String calculateTotalMarketValuePerVaccinationPerCapita(int zipCode, ArrayList<CovidData> covidDataList, ArrayList<Population> populationList, ArrayList<Property> propertyList) { double totalMarketValue = 0.0; double totalPopulation = 0.0; int totalVaccinated = 0; // Calculate the total market value and population for the specified zip code for (Property property : propertyList) { if (property.getZipCode() == zipCode && (property.getZipCode() != -1 || property.getZipCode() != -1.0)) { double marketValue = property.getMarketValue(); if (marketValue != -1.0 || marketValue != -1) { // System.out.println(marketValue); totalMarketValue += marketValue; } break; } } // get total population for (Population population : populationList) { if (population.getZipCode() == zipCode && (population.getZipCode() != -1 || population.getZipCode() != -1.0)) { double populationCount = population.getPopulation(); totalPopulation += populationCount; break; } } // System.out.println(totalPopulation); int partialVax = 0; int fullVax = 0; int boosted = 0; // Calculate the total number of people vaccinated for the specified zip code for (CovidData covidData : covidDataList) { if (covidData.getzipCode() == zipCode) { if (covidData.getpartialVax() != 0) { partialVax = covidData.getpartialVax(); } if (covidData.getfullVax() != 0) { fullVax = covidData.getfullVax(); } if (covidData.getboosted() != 0) { boosted = covidData.getboosted(); } // System.out.println(partialVax); // System.out.println(fullVax); totalVaccinated = partialVax + fullVax + boosted; } } //check to make sure calculation will work if (totalVaccinated == 0 ) { return String.valueOf(0.0); } else if (totalPopulation == 0) { return String.valueOf(0.0); } else if (totalMarketValue <= 0) { return String.valueOf(0.0); } double totalMarketValuePerVaxPerCapita = totalMarketValue / (totalVaccinated / totalPopulation); return String.valueOf(totalMarketValuePerVaxPerCapita); } }