Search code examples
javarandomtreemap

Is there a way to get a random key and its respective value from a TreeMap?


I want to get a random key and its respective value from a TreeMap. The idea is that a random generator would pick a key and display that value. The key is a string and the value is a double. For example myMap.put("CanSoupWt", 1.0).

Here is the code I've attempted to use. I'm new to Java programming, so my coding is a bit inelegant. What I'm attempting to do is randomly retrieve a key value pair from the Treemap. Then remove the key value pair from the TreeMap and repeat the process with the resulting TreeMap.

package traditional_pantry_sep08_2022;

import java.util.ArrayList;
import java.util.TreeMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class Main2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // select most preferred can food
        
                double v_Can_Soup_Wt = 0.95;
                double v_Can_Peas_Wt = 0.95;
                double v_Can_Mix_Wt = 0.95;
                double v_Can_Meat_Wt = 0.95;
                double v_Can_Corn_Wt = 0.95;
                double v_Can_Green_Wt = 0.95;
                double v_Can_Veggies_Wt = 0.95;
                double v_Can_Apple_Wt = 0.95;
                
                double v_Can_Soup_Qty = 0;
                double v_Can_Peas_Qty = 0;
                double v_Can_Mix_Qty = 0; 
                double v_Can_Meat_Qty = 0;
                double v_Can_Corn_Qty = 0;
                double v_Can_Green_Qty = 0;
                double v_Can_Veggies_Qty = 0;
                double v_Can_Apple_Qty = 0;
                        
                
                double household = 2;
                double v_Can_Tot_Wt = 0;

                //Set Weight Limit for canned Food based on household size
                double v_Can_Tot_MaxWt = 14 + (4 * (household -1));

                //Set Max Qty of canned food items based on household size
                double v_Can_Soup_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Peas_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Mix_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Meat_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Corn_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Green_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Veggies_MaxQty = 5 + (2 * (household - 1));
                double v_Can_Apple_MaxQty = 5 + (2 * (household - 1));

                // Select can foods randomly until we reach weight limit
                //input canned food weights into TreeMap
                    TreeMap<String, Double> canall = new TreeMap<String, Double>();
                    canall.put("CanSoupWt", v_Can_Soup_Wt);
                    canall.put("CanPeasWt", v_Can_Peas_Wt);
                    canall.put("CanMixWt", v_Can_Mix_Wt);
                    canall.put("CanMeatWt", v_Can_Meat_Wt);
                    canall.put("CanCornWt", v_Can_Corn_Wt);
                    canall.put("CanGreenWt", v_Can_Green_Wt);
                    canall.put("CanVeggiesWt", v_Can_Veggies_Wt);
                    canall.put("CanAppleWt", v_Can_Apple_Wt);
                                            
                // printing the TreeMap
                    System.out.println("The TreeMap is : " + canall);
                        
                //pick a random canned food item from the TreeMap 

                        //Object[] crunchifyKeys = canall.keySet().toArray();
                        
                do {        
                        Object[] crunchifyKeys = canall.keySet().toArray();
                        Object key = crunchifyKeys[new Random().nextInt(crunchifyKeys.length)];
                        System.out.println("************ Random Value ************ \n" + key + " :: " + canall.get(key));
                        List<Map.Entry<String, Double>> list = new ArrayList<Map.Entry<String, Double>>(canall.entrySet()); 
                        System.out.println("The TreeMap is : " + canall);       
                        
                      //pick maximum number of canned food items
                        if (key == "CanSoupWt") {
                            do {
                                v_Can_Soup_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Soup_Wt * v_Can_Soup_Qty);
                                }           
                                while (v_Can_Soup_Qty < v_Can_Soup_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Soup_Qty--;
                                }       
                            canall.remove("CanSoupWt"); //remove selected item
                            }   
                            else if (key == "CanPeasWt") {
                                do {
                                v_Can_Peas_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Peas_Wt * v_Can_Peas_Qty); 
                                }           
                                while (v_Can_Peas_Qty < v_Can_Peas_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Peas_Qty--;
                                }
                            canall.remove("CanPeasWt"); //remove selected item
                            }   
                            else if (key == "CanMixWt") {
                                do {
                                v_Can_Mix_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Mix_Wt * v_Can_Mix_Qty);
                                }           
                                while (v_Can_Mix_Qty < v_Can_Mix_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Mix_Qty--;
                                }
                            canall.remove("CanMixWt"); //remove selected item
                            }                       
                            else if (key == "CanMeatWt") {
                                do {
                                v_Can_Meat_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Meat_Wt * v_Can_Meat_Qty);
                                }           
                                while ( v_Can_Meat_Wt < v_Can_Meat_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Meat_Qty--;
                                }   
                            canall.remove("CanMeatWt"); //remove selected item          
                            }
                            else if (key == "CanCornWt") {
                                do {
                                v_Can_Corn_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Corn_Wt * v_Can_Corn_Qty);
                                }           
                                while (v_Can_Corn_Wt < v_Can_Corn_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Corn_Qty--;
                                }   
                            canall.remove("CanCornWt"); //remove selected item
                            }
                            else if (key == "CanGreenWt") {
                                do {
                                v_Can_Green_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Green_Wt * v_Can_Green_Qty);
                                }           
                                while (v_Can_Green_Wt < v_Can_Green_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Green_Qty--;
                                }   
                            canall.remove("CanGreenWt"); //remove selected item 
                            }
                            else if (key == "CanVeggiesWt") {
                                do {
                                v_Can_Veggies_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Veggies_Wt * v_Can_Veggies_Qty);
                                }           
                                while (v_Can_Veggies_Wt < v_Can_Veggies_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Veggies_Qty--;
                                }   
                            canall.remove("CanVeggiesWt"); //remove selected item           
                            }       
                            else if (key == "CanAppleWt") {
                                do {
                                v_Can_Apple_Qty++;
                                v_Can_Tot_Wt = v_Can_Tot_Wt + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                                }           
                                while (v_Can_Apple_Wt < v_Can_Apple_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                                if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                    v_Can_Apple_Qty--;
                                }   
                            canall.remove("CanAppleWt"); //remove selected item         
                            
                            }
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                                + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                                + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }
                while (v_Can_Tot_Wt < v_Can_Tot_MaxWt);
                
                System.out.println("Household Members: " +household);
                System.out.println("Can Soup Qty: " +v_Can_Soup_Qty);
                System.out.println("Can Peas Qty: " +v_Can_Peas_Qty);
                System.out.println("Can Mix Beans Qty: " +v_Can_Mix_Qty);
                System.out.println("Can Meat Qty: " +v_Can_Meat_Qty);
                System.out.println("Can Corn Qty: " +v_Can_Corn_Qty);
                System.out.println("Can Green Qty: " +v_Can_Green_Qty);
                System.out.println("Can Veggies Qty: " +v_Can_Veggies_Qty);
                System.out.println("Can Apple Qty: " +v_Can_Apple_Qty);
                System.out.println("Can Food Total Weight: " +v_Can_Tot_Wt);
                System.out.println("Can Food Maximum Weight: " +v_Can_Tot_MaxWt);
                // printing the TreeMap
                System.out.println("The TreeMap is : " + canall);
                }       
            }

Solution

  • This isn't the most efficient code. But it seems to work.

    package traditional_pantry_sep08_2022;
    
    import java.util.ArrayList;
    import java.util.TreeMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Random;
    
    public class Main {
    
        public static void main(String[] args) {
            // select most preferred can food
            
            double v_Can_Soup_Wt = 0.95;
            double v_Can_Peas_Wt = 0.95;
            double v_Can_Mix_Wt = 0.95;
            double v_Can_Meat_Wt = 0.95;
            double v_Can_Corn_Wt = 0.95;
            double v_Can_Green_Wt = 0.95;
            double v_Can_Veggies_Wt = 0.95;
            double v_Can_Apple_Wt = 0.95;
            
            double v_Can_Soup_Qty = 0;
            double v_Can_Peas_Qty = 0;
            double v_Can_Mix_Qty = 0; 
            double v_Can_Meat_Qty = 0;
            double v_Can_Corn_Qty = 0;
            double v_Can_Green_Qty = 0;
            double v_Can_Veggies_Qty = 0;
            double v_Can_Apple_Qty = 0;
                    
            
            double household = 2;
            double v_Can_Tot_Wt = 0;
    
            //Set Weight Limit for canned Food based on household size
            double v_Can_Tot_MaxWt = 14 + (4 * (household -1));
    
            //Set Max Qty of canned food items based on household size
            double v_Can_Soup_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Peas_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Mix_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Meat_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Corn_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Green_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Veggies_MaxQty = 5 + (2 * (household - 1));
            double v_Can_Apple_MaxQty = 5 + (2 * (household - 1));
    
            // Select can foods randomly until we reach weight limit
            //input canned food weights into TreeMap
                TreeMap<String, Double> canall = new TreeMap<String, Double>();
                canall.put("CanSoupWt", v_Can_Soup_Wt);
                canall.put("CanPeasWt", v_Can_Peas_Wt);
                canall.put("CanMixWt", v_Can_Mix_Wt);
                canall.put("CanMeatWt", v_Can_Meat_Wt);
                canall.put("CanCornWt", v_Can_Corn_Wt);
                canall.put("CanGreenWt", v_Can_Green_Wt);
                canall.put("CanVeggiesWt", v_Can_Veggies_Wt);
                canall.put("CanAppleWt", v_Can_Apple_Wt);
                                        
            // printing the TreeMap
                System.out.println("The TreeMap is : " + canall);
                    
            //pick a random canned food item from the TreeMap 
    
                    //Object[] crunchifyKeys = canall.keySet().toArray();
                    
            do {        
                    Object[] crunchifyKeys = canall.keySet().toArray();
                    Object key = crunchifyKeys[new Random().nextInt(crunchifyKeys.length)];
                    System.out.println("************ Random Value ************ \n" + key + " :: " + canall.get(key));
                    List<Map.Entry<String, Double>> list = new ArrayList<Map.Entry<String, Double>>(canall.entrySet()); 
                    System.out.println("The TreeMap is : " + canall);       
                    
                    //pick maximum number of canned food items
                    if (key == "CanSoupWt") {
                        do {
                            v_Can_Soup_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                            + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                            + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Soup_Qty < v_Can_Soup_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Soup_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                                + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                                + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }       
                    
                        canall.remove("CanSoupWt"); //remove selected item
                        }   
                        else if (key == "CanPeasWt") {
                            do {
                            v_Can_Peas_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                            + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                            + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Peas_Qty < v_Can_Peas_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Peas_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                                + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                                + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }
                        canall.remove("CanPeasWt"); //remove selected item
                        }   
                        else if (key == "CanMixWt") {
                            do {
                            v_Can_Mix_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Mix_Qty < v_Can_Mix_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Mix_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }
                        canall.remove("CanMixWt"); //remove selected item
                        }                       
                        else if (key == "CanMeatWt") {
                            do {
                            v_Can_Meat_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while ( v_Can_Meat_Wt < v_Can_Meat_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Meat_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }   
                        canall.remove("CanMeatWt"); //remove selected item          
                        }
                        else if (key == "CanCornWt") {
                            do {
                            v_Can_Corn_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Corn_Wt < v_Can_Corn_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Corn_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }   
                        canall.remove("CanCornWt"); //remove selected item
                        }
                        else if (key == "CanGreenWt") {
                            do {
                            v_Can_Green_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Green_Wt < v_Can_Green_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Green_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }   
                        canall.remove("CanGreenWt"); //remove selected item 
                        }
                        else if (key == "CanVeggiesWt") {
                            do {
                            v_Can_Veggies_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Veggies_Wt < v_Can_Veggies_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Veggies_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }   
                        canall.remove("CanVeggiesWt"); //remove selected item           
                        }       
                        else if (key == "CanAppleWt") {
                            do {
                            v_Can_Apple_Qty++;
                            v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }           
                            while (v_Can_Apple_Wt < v_Can_Apple_MaxQty /*&& v_Can_Tot_Wt < v_Can_Tot_MaxWt*/);
                            if (v_Can_Tot_Wt > v_Can_Tot_MaxWt) {
                                v_Can_Apple_Qty--;
                                v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty)
                                + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                            }   
                        canall.remove("CanAppleWt"); //remove selected item         
                        /*v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                            + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                            + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);*/
                        }
                        v_Can_Tot_Wt = (v_Can_Soup_Wt * v_Can_Soup_Qty) + (v_Can_Peas_Wt * v_Can_Peas_Qty) 
                            + (v_Can_Mix_Wt * v_Can_Mix_Qty) + (v_Can_Meat_Wt * v_Can_Meat_Qty) 
                            + (v_Can_Corn_Wt * v_Can_Corn_Qty)+ (v_Can_Green_Wt * v_Can_Green_Qty) 
                            + (v_Can_Veggies_Wt * v_Can_Veggies_Qty) + (v_Can_Apple_Wt * v_Can_Apple_Qty);
                        }
            while (v_Can_Tot_Wt < v_Can_Tot_MaxWt);
            
            System.out.println("Household Members: " +household);
            System.out.println("Can Soup Qty: " +v_Can_Soup_Qty);
            System.out.println("Can Peas Qty: " +v_Can_Peas_Qty);
            System.out.println("Can Mix Beans Qty: " +v_Can_Mix_Qty);
            System.out.println("Can Meat Qty: " +v_Can_Meat_Qty);
            System.out.println("Can Corn Qty: " +v_Can_Corn_Qty);
            System.out.println("Can Green Qty: " +v_Can_Green_Qty);
            System.out.println("Can Veggies Qty: " +v_Can_Veggies_Qty);
            System.out.println("Can Apple Qty: " +v_Can_Apple_Qty);
            System.out.println("Can Food Total Weight: " +v_Can_Tot_Wt);
            System.out.println("Can Food Maximum Weight: " +v_Can_Tot_MaxWt);
            // printing the TreeMap
            System.out.println("The TreeMap is : " + canall);
            }       
        }