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 Ways to evaluate loops Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Ways to evaluate loops" Watch "Ways to evaluate loops" New topic
Author

Ways to evaluate loops

James Chegwidden
Author
Ranch Hand

Joined: Oct 06, 2002
Posts: 201
The following code will output Hi six times


What is the quick formula(s) way for evaluating no. of times a loop will be processed without actually evaluating the loop? Example for above

is it 10-5 + 1= 6



If you actually trace through the code you will see Hi is printed six times.

I thought there was a quick way to do this?
Just like to show my classes different ways to evaluate loops


Author and Instructor, my book
Kalai Selvan
Ranch Hand

Joined: Jul 07, 2004
Posts: 79
Hi James,
The formula will look some thing like this

(Final - Initial) / Step

Where Final is the final value.
Initial is the initial value and
Step is the increment value.

for <= condition we have to increment Final by one.

In idle condition (i.e. without any conditional break or jump etc.)the loop will execute these many times.

Regards,
Kalai Selvan T.
James Chegwidden
Author
Ranch Hand

Joined: Oct 06, 2002
Posts: 201
Formula not quite right:


prints 25 and 1

Formula given above (25- 1)/1 =24 times which is not correct.

So formula does not work for all cases.
Francis Siu
Ranch Hand

Joined: Jan 04, 2003
Posts: 867
What is the quick formula(s) way for evaluating no. of times a loop will be processed without actually evaluating the loop?
I suggest you to read some books which contain the algorithm analysis.
From your example, I know that it is required 0(n) which n representing the times of the for loop.
Hope this help


Francis Siu
SCJP, MCDBA
Hosh Nasi
Ranch Hand

Joined: Sep 10, 2004
Posts: 44
I may be way off here but wouldn't (x+1)-y = z work? This of course would only work if the ending value is greater then the starting value, and it is a >= statement. Is this just an general thought? Or are you looking for code for this too?
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Ways to evaluate loops