Link to home
Start Free TrialLog in
Avatar of jerry-2112
jerry-2112Flag for Afghanistan

asked on

changing my code to add a loop to put in values

I have a code here that works fine, but I was wondering how to change it to use a loop to put in my array vaules.  This was fairly easy todo because there was only 20 total vaules to add but larger program would need some sort of loop.  Here is my working Code
import java.util.ArrayList;

public class ThreeArrayLists {

    public static void main(String[] args) {
        ArrayList priceList = new ArrayList();
        ArrayList quantityList = new ArrayList();
        ArrayList amountList = new ArrayList();
        //PRICE lIST
        priceList.add(new Double(10.62));
        priceList.add(new Double(14.89));
        priceList.add(new Double(13.21));
        priceList.add(new Double(16.55));
        priceList.add(new Double(18.62));
        priceList.add(new Double(9.47));
        priceList.add(new Double(6.58));
        priceList.add(new Double(18.32));
        priceList.add(new Double(12.15));
        priceList.add(new Double(3.98));
        //QUANTITY LIST   
        quantityList.add(new Double(4.0));
        quantityList.add(new Double(8.5));
        quantityList.add(new Double(6.0));
        quantityList.add(new Double(7.35));
        quantityList.add(new Double(9.0));
        quantityList.add(new Double(15.3));
        quantityList.add(new Double(3));
        quantityList.add(new Double(5.4));
        quantityList.add(new Double(2.9));
        quantityList.add(new Double(4.8));
       // call extend method
        extend(amountList, quantityList, priceList);
        //call display method
        display(quantityList, priceList, amountList);






    }
// display method
    private static void display(ArrayList quantityList, ArrayList priceList, ArrayList amountList)  {
          //for loop to display arrays
        for (int i = 0; i < 10; i++) {
        //format using %.2f to round all numbers to 2 decimals
            System.out.format("%d)  %.2f * %.2f = %.2f \n",i+1, 
Double.valueOf(priceList.get(i).toString()), 
Double.valueOf(quantityList.get(i).toString()), Double.valueOf(amountList.get(i).toString()));
        }
    }

    private static void extend(ArrayList amountList, ArrayList quantityList, ArrayList priceList) {
           //for loop to do the math
        for (int i = 0; i < 10; i++) {
            amountList.add((Double.valueOf(priceList.get(i).toString())) * (Double.valueOf(quantityList.get(i).toString())));



        }

    }
}

Open in new window

Here is the sort of loop I'd like to add.

for i = 0 to i < 10
{
priceList.add(priceArray[i]);
quantityList.add(quantityArray[i]);
}

Open in new window

So would my Array totals look like this :
final double[] PRICE_ARRAY = { 10.62, 14.89, 13.21, 16.55, 18.62, 9.47,
            6.58, 18.32, 12.15, 3.98 };
    final double[] QUANTITY_ARRAY = { 4.0, 8.5, 6.0, 7.35, 9.0, 15.3, 3.0, 5.4,
            2.9, 4.8 };

Open in new window

Is this a simple change or hardcore ?  What I have is good for my assignment, just wondering.  Thanks Jerry
ASKER CERTIFIED SOLUTION
Avatar of mccarl
mccarl
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jerry-2112

ASKER

Ok guys. I'm missing something ! Please don't give up on me.  
import java.util.ArrayList;

public class ThreeArrayLists1 
{
   
	// declare instance variables, arrays
    private ArrayList<Double> priceList = null;
    private ArrayList<Double> quantityList = null;
    private ArrayList<Double> amountList = null;

    final double[][] DETAILS_ARRAY = { 
    		  { 10.62, 4.0 },
    		  { 14.89, 8.5},
    		  { 13.32, 6.0},
    		  { 16.55,7.35 },
    		  { 18.62, 9.0},
    		  { 9.47, 15.3},
    		  { 6.58, 3.0 },
    		  { 18.32, 5.4},
    		  { 12.15, 2.9},
    		  { 3.98, 4.8 }
    		};


    public ThreeArrayLists1() 
    {
        // call the extend method
        extend();
    }

    public void extend(priceList, quantityList) 
    {
    	 for (int i = 0; i < DETAILS_ARRAY.length; i++) {
       	  priceList.add(DETAILS_ARRAY[i][0]);
       	  quantityList.add(DETAILS_ARRAY[i][1]);
        
        //call the display method
        display();
        
    } // end extend method
    } 
    	 private static void display(ArrayList quantityList, ArrayList priceList, ArrayList amountList)  {
             //for loop to display arrays
           for (int i = 0; i < 10; i++) {
           //format using %.2f to round all numbers to 2 decimals
               System.out.format("%d)  %.2f * %.2f = %.2f \n",i+1, 
   Double.valueOf(priceList.get(i).toString()), 
   Double.valueOf(quantityList.get(i).toString()), Double.valueOf(amountList.get(i).toString()));
           }
       }

    public static void main(String[] args) 
    {
        new ThreeArrayLists1();
    }
} 

Open in new window

 I'm trying !
Please don't give up on me.  
I shall, since you're ignoring my advice anyway
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
CEHJ,
 I have to look half your words up to understand what your saying ! You're talking above my head ! I try !