File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Adding Values in arrays. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Adding Values in arrays." Watch "Adding Values in arrays." New topic
Author

Adding Values in arrays.

Stephen Foy
Ranch Hand

Joined: Oct 17, 2005
Posts: 143
On one of my lab week tutorials we had to do this, add the values of and array, the outcome would be 4950.

I wrote my program that works, and gives the value, 4950



Is there an easiar way to achieve this?


Stephen Foy - Microsoft Application Development Consultant
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697
    
    5

Well you didn't need the if statement before the System.out at the end since this would be checked in every loop. You could have just put it after the loop completed.

Also, the array itself was unnecessary since you defined "anArray[i]=i" at the beginning of every loop. You could have removed the array completely and just done "add = add + i" or "add += i" for short.

Finally, you could have used mathematics to determine that the sum of integers from 1 to N is defined to be: (n^2 + n)/2 although the proof of this normally requires induction.


My Blog: Down Home Country Coding with Scott Selikoff
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697
    
    5

By the way, note that you get 4950 since you are really summing from 0 to 99, not 1..100. If you apply the formula to 99 it works out to be exactly 4950. Keep in mind this formula is a shortcut and may not be what your teacher wanted. Its not often such short cuts exist but when they do its great to be able to use them.
[ November 08, 2005: Message edited by: Scott Selikoff ]
Stephen Foy
Ranch Hand

Joined: Oct 17, 2005
Posts: 143
Thanks for the tips, i didnt fully understand what you mean by remove array, i presume you mean the "anArray[i]+anArray[i]"?



Hows that?
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697
    
    5

No, I think you misunderstand. For the first part where I said to remove the array, I assumed your goal was the target value of 4950, not the array so you could do:

But the second piece of advise (n^2+n)/2 there is no loop needed, its one line of code really:

For the equation no loop is neccessary, its extremely fast with O(1) running time compared to O(n) for the loop.
[ November 08, 2005: Message edited by: Scott Selikoff ]
jiju ka
Ranch Hand

Joined: Oct 12, 2004
Posts: 306
You may take a look at java.reflect.Array
Api is at
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Array.html

But it don't provide you a sum operation.

Alternatively you can create a collection by implementing collection and give it a sum method. The custom collection could be a collection of primitives or non-primitives. toArray method can be implemented to convert the Collection to an Array if needed.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Adding Values in arrays.
 
Similar Threads
double precision floating point
Need hlp wit array. plz help
Find if an integer is in a given array.
max and min in array?
For that if use the array? Which is the its main function?