send edited code package part3 import javaio import javautil
send edited code
package part3;
 import java.io.*;
 import java.util.*;
public class CerealRanker {
   public static float getMaxValue(float[] numbers){
        float maxValue = numbers[0];
        for(int i=1;i < numbers.length;i++){
            if(numbers[i] > maxValue){
                maxValue = numbers[i];
            }
        }
        return maxValue;
 }
       
    public static float getMinValue(float[] numbers) {
        float minValue = numbers[0];
        for (int i = 1; i < numbers.length; i++) {
            if (numbers[i] < minValue) {
                minValue = numbers[i];
            }
        }
        return minValue;
    }
   
    public static float getNormalize(float value, float min, float max) {
        return (value - min) / (max - min);
    }
   
                                        // Trap for Input/Output errors
    public static void main(String[] args) throws java.io.IOException{
       // set up the buffered reader to read from the text file}
        Scanner fileScanner = new Scanner(new FileReader(\"CerealData.txt\"));
       
        /*
        -   Name
        -   Manufacturer
        -   Calories   - Low
        -   Protein   - High
        -   Fat       - Low
        -   Sodium   - Low
        -   Fiber       - High
        -   Carbs       - Low
        -   Sugars       - Low
        -   Potassium   - Ignore
        -   Vitamins   - High
        */
        String[] name = new String[74];
        String[] mfr = new String[74];
        float[] calories = new float[74];
        float[] protein = new float[74];
        float[] fat = new float[74];
        float[] sodium = new float[74];
        float[] fiber = new float[74];
        float[] carbs = new float[74];
        float[] sugars = new float[74];
        float[] potassium = new float[74];
        float[] vitamins = new float[74];
      
        // 1. Read all the data
        for (int i = 0; i < 74; i++) {
                name[i] = fileScanner.next();
                mfr[i] = fileScanner.next();
                calories[i] = fileScanner.nextFloat();
                protein[i] = fileScanner.nextFloat();      
                fat[i] = fileScanner.nextFloat();
                sodium[i] = fileScanner.nextFloat();
                fiber[i] = fileScanner.nextFloat();
                carbs[i] = fileScanner.nextFloat();
                sugars[i] = fileScanner.nextFloat();
                potassium[i] = fileScanner.nextFloat();
                vitamins[i] = fileScanner.nextFloat();
        }
       
        fileScanner.close();
       
        // 2. Calculate the min and max for each nutrient
        float minCalories = getMinValue(calories);
        float maxCalories = getMaxValue(calories);
       
        float minProtein = getMinValue(protein);
        float maxProtein = getMaxValue(protein);
       
        float minFat = getMinValue(fat);
        float maxFat = getMaxValue(fat);
        float minSodium = getMinValue(sodium);
        float maxSodium = getMaxValue(sodium);
        float minFiber = getMinValue(fiber);
        float maxFiber = getMaxValue(fiber);
        float minCarbs = getMinValue(carbs);
        float maxCarbs = getMaxValue(carbs);
        float minSugars= getMinValue(sugars);
        float maxSugars = getMaxValue(sugars);
        float minPotassium = getMinValue(potassium);
        float maxPotassium = getMaxValue(potassium);
        float minVitamins = getMinValue(vitamins);
        float maxVitamins = getMaxValue(vitamins);
       
        // 3. Calcuate the rankings for each cereal
        float[] rankings = new float[74];
       
        float minRanking=0, maxRanking=0;
        int minRankingIndex=0, maxRankingIndex=0;
       
        for (int i=0; i < 74; i++) {
            rankings[i] = -getNormalize(calories[i], minCalories, maxCalories)
                    + getNormalize(protein[i], minProtein, maxProtein)
                    - getNormalize(fat[i], minFat, maxFat)
                    - getNormalize(sodium[i], minSodium, maxSodium)
                    + getNormalize(fiber[i], minFiber, maxFiber)
                    - getNormalize(carbs[i], minCarbs, maxCarbs)
                    - getNormalize(sugars[i], minSugars, maxSugars)
                    + getNormalize(vitamins[i], minVitamins, maxVitamins);
            System.out.println(name[i] + \"\\t\" + mfr[i] + \"\\t\" + rankings[i]);
           
            // 4. Keep track of the cereal with the highest and lowest ranking
            if (i == 0) {
                minRanking = rankings[i];
                maxRanking = rankings[i];
            } else {
                if (minRanking > rankings[i]) {
                    minRanking = rankings[i];
                    minRankingIndex = i;
                }
                if (maxRanking < rankings[i]) {
                    maxRanking = rankings[i];
                    maxRankingIndex = i;
                }
            }  
        }
       
        // Reveal the results...
        System.out.println(\"HEALTHIEST CEREAL \" + name[maxRankingIndex] + \" made by \" + mfr[maxRankingIndex]);
        System.out.println(\"UNHEALTHIEST CEREAL \" + name[minRankingIndex] + \" made by \" + mfr[minRankingIndex]);
    }
 }
Solution
package part3;
 import java.io.*;
 import java.util.*;
public class CerealRanker {
    public static float getMaxValue(float[] numbers){
         float maxValue = numbers[0];
         for(int i=1;i < numbers.length;i++){
             if(numbers[i] > maxValue){
                 maxValue = numbers[i];
             }
         }
         return maxValue;
 }
         
     public static float getMinValue(float[] numbers) {
         float minValue = numbers[0];
         for (int i = 1; i < numbers.length; i++) {
             if (numbers[i] < minValue) {
                 minValue = numbers[i];
             }
         }
         return minValue;
     }
   
     public static float getNormalize(float value, float min, float max) {
         return (value - min) / (max - min);
     }
   
                                         // Trap for Input/Output errors
     public static void main(String[] args) throws java.io.IOException{
        // set up the buffered reader to read from the text file}
         Scanner fileScanner = new Scanner(new FileReader(\"CerealData2.txt\"));
       
         /*
         -    Name
         -    Manufacturer
         -    Calories    - Low
         -    Protein    - High
         -    Fat        - Low
         -    Sodium    - Low
         -    Fiber        - High
         -    Carbs        - Low
         -    Sugars        - Low
         -    Potassium    - Ignore
         -    Vitamins    - High
         -    Whole Grains - High
          */
         String[] name = new String[74];
         String[] mfr = new String[74];
         float[] calories = new float[74];
         float[] protein = new float[74];
         float[] fat = new float[74];
         float[] sodium = new float[74];
         float[] fiber = new float[74];
         float[] carbs = new float[74];
         float[] sugars = new float[74];
         float[] potassium = new float[74];
         float[] vitamins = new float[74];
        float[] wholeGrains = new float[74];
      
         // 1. Read all the data
         for (int i = 0; i < 74; i++) {
                 name[i] = fileScanner.next();
                 mfr[i] = fileScanner.next();
                 calories[i] = fileScanner.nextFloat();
                 protein[i] = fileScanner.nextFloat();      
                 fat[i] = fileScanner.nextFloat();
                 sodium[i] = fileScanner.nextFloat();
                 fiber[i] = fileScanner.nextFloat();
                 carbs[i] = fileScanner.nextFloat();
                 sugars[i] = fileScanner.nextFloat();
                 potassium[i] = fileScanner.nextFloat();
                 vitamins[i] = fileScanner.nextFloat();
                wholeGrains[i] = fileScanner.nextFloat();
         }
       
         fileScanner.close();
       
         // 2. Calculate the min and max for each nutrient
         float minCalories = getMinValue(calories);
         float maxCalories = getMaxValue(calories);
       
         float minProtein = getMinValue(protein);
         float maxProtein = getMaxValue(protein);
       
         float minFat = getMinValue(fat);
         float maxFat = getMaxValue(fat);
         float minSodium = getMinValue(sodium);
         float maxSodium = getMaxValue(sodium);
         float minFiber = getMinValue(fiber);
         float maxFiber = getMaxValue(fiber);
         float minCarbs = getMinValue(carbs);
         float maxCarbs = getMaxValue(carbs);
         float minSugars= getMinValue(sugars);
         float maxSugars = getMaxValue(sugars);
         float minPotassium = getMinValue(potassium);
         float maxPotassium = getMaxValue(potassium);
         float minVitamins = getMinValue(vitamins);
         float maxVitamins = getMaxValue(vitamins);
        float minWholeGrains = getMinValue(wholeGrains);
         float maxWholeGrains = getMaxValue(wholeGrains);
       
         // 3. Calcuate the rankings for each cereal
         float[] rankings = new float[74];
       
         float minRanking=0, maxRanking=0;
         int minRankingIndex=0, maxRankingIndex=0;
       
         for (int i=0; i < 74; i++) {
             rankings[i] = -getNormalize(calories[i], minCalories, maxCalories)
                     + getNormalize(protein[i], minProtein, maxProtein)
                     - getNormalize(fat[i], minFat, maxFat)
                     - getNormalize(sodium[i], minSodium, maxSodium)
                     + getNormalize(fiber[i], minFiber, maxFiber)
                     - getNormalize(carbs[i], minCarbs, maxCarbs)
                     - getNormalize(sugars[i], minSugars, maxSugars)
                     + getNormalize(vitamins[i], minVitamins, maxVitamins);
                    + getNormalize(wholeGrains[i], minWholeGrains, maxWholeGrains);
             System.out.println(name[i] + \"\\t\" + mfr[i] + \"\\t\" + rankings[i]);
           
             // 4. Keep track of the cereal with the highest and lowest ranking
             if (i == 0) {
                 minRanking = rankings[i];
                 maxRanking = rankings[i];
             } else {
                 if (minRanking > rankings[i]) {
                     minRanking = rankings[i];
                     minRankingIndex = i;
                 }
                 if (maxRanking < rankings[i]) {
                     maxRanking = rankings[i];
                     maxRankingIndex = i;
                 }
             }  
         }
       
         // Reveal the results...
         System.out.println(\"HEALTHIEST CEREAL   \" + name[maxRankingIndex] + \" made by \" + mfr[maxRankingIndex]);
         System.out.println(\"UNHEALTHIEST CEREAL \" + name[minRankingIndex] + \" made by \" + mfr[minRankingIndex]);
     }
 }
![send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal](/WebImages/23/send-edited-code-package-part3-import-javaio-import-javautil-1056177-1761551056-0.webp)
![send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal](/WebImages/23/send-edited-code-package-part3-import-javaio-import-javautil-1056177-1761551056-1.webp)
![send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal](/WebImages/23/send-edited-code-package-part3-import-javaio-import-javautil-1056177-1761551056-2.webp)
![send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal](/WebImages/23/send-edited-code-package-part3-import-javaio-import-javautil-1056177-1761551056-3.webp)
![send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal send edited code package part3; import java.io.*; import java.util.*; public class CerealRanker { public static float getMaxValue(float[] numbers){ float maxVal](/WebImages/23/send-edited-code-package-part3-import-javaio-import-javautil-1056177-1761551056-4.webp)
