do while loop - not stopping!!

Reply

Join Date: Jul 2005
Posts: 19
Reputation: JavaFish is an unknown quantity at this point 
Solved Threads: 0
JavaFish JavaFish is offline Offline
Newbie Poster

do while loop - not stopping!!

 
0
  #1
Aug 11th, 2005
Hi

I am having a bit of trouble with a do while loop. I either can't get it to stop, or it doesn't do exactly as I need it to.

I am using a array called nums to insert random numbers into a binary search tree. Once the tree has been created I need to create a method to search the nums array looking for the node I have asked the user to find in the tree. Once it finds it I need it to output the nodes in that order into a vector.

Sometimes I ask for a node which is not in the tree - this is represented by the outCome. 0 if it is in the tree and 1 if it is not.

I'm attempting to do the first part, if the node is in the tree and have tried creating the following method. Currently it just loops. Can someone tell me how to tell it to stop?

Also, could you help me with telling it to only add nodes until it reaches the node they are searching for, represented by searchValue.

  1. public void correctSearchPath(int searchValue){
  2. if (outCome == 0) { // node is IN tree
  3. System.out.println("correctSearchPath node is in tree");
  4. for (i = 0; i < amount; i++){
  5. do {
  6. optimalSearch.add(new Integer(nums[i]));
  7. System.out.println("searchValue is " + searchValue);
  8. }
  9. while (i != searchValue);
  10. }
  11. System.out.println("optimalsearchpath is: " + optimalSearch);
  12. }
  13. if (outCome == 1){ // node NOT in tree
  14. for (i = 0; i < amount; i++){
  15. System.out.println("correctSearchPath node is NOT in tree");
  16. }
  17. }
  18. System.out.println("outcome of flipCoin is " + outCome);
  19. } // method to drawWhole tree

hope someone can help me with this, its driving me and the program loopy :o
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,144
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: do while loop - not stopping!!

 
0
  #2
Aug 11th, 2005
Well, you never change searchValue inside the loop so if it's not the same as your loop counter you're entering an eternal loop.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 19
Reputation: JavaFish is an unknown quantity at this point 
Solved Threads: 0
JavaFish JavaFish is offline Offline
Newbie Poster

Re: do while loop - not stopping!!

 
0
  #3
Aug 11th, 2005
hmm, not sure I understand. Why would I want to change searchvalue? As for each time this method is run it will be a different value but it shouldn't change when the loop is running...?
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 58
Reputation: JeffHeaton is an unknown quantity at this point 
Solved Threads: 0
JeffHeaton's Avatar
JeffHeaton JeffHeaton is offline Offline
Junior Poster in Training

Re: do while loop - not stopping!!

 
0
  #4
Aug 11th, 2005
Look at the do/while loop all by itself:

  1. do {
  2. optimalSearch.add(new Integer(nums[i]));
  3. System.out.println("searchValue is " + searchValue);
  4. }
  5. while (i != searchValue);
This commands java to loop those two lines until search value != i. Well neither of those two lines up there is going to cause search value to change!! So it loops forever.
Jeff Heaton
Check out my Java Neural Networks
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 19
Reputation: JavaFish is an unknown quantity at this point 
Solved Threads: 0
JavaFish JavaFish is offline Offline
Newbie Poster

Re: do while loop - not stopping!!

 
0
  #5
Aug 11th, 2005
I am sorry about this but I just don't get how to fix it. I'm not sure why I would need to change searchValue.

For example, searchValue might be 10 and looking in the following array [8,12,11,10,15]
I would then just want the loop to add [8,12,11,10] to the vector. I don't need to change searchValue.

I am being dim I know but if you could please continue to offer advise on this that would be great
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,144
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: do while loop - not stopping!!

 
0
  #6
Aug 11th, 2005
Think about what you want to do and how you'd do that if you were to do it with buckets full of marbles.
Write that down, then translate that into code.

Your entire algorithm is wrong, and your description of what you want to do is so vague it seems to me you don't even know yourself what you're trying to achieve here.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 19
Reputation: JavaFish is an unknown quantity at this point 
Solved Threads: 0
JavaFish JavaFish is offline Offline
Newbie Poster

Re: do while loop - not stopping!!

 
0
  #7
Aug 11th, 2005
sorry I have not conveyed the problem clearly. I do know what I am trying to do but obviously not explaining it very well and have written down what I wanted and tried to translate it to code - but thats where I always get stuck.

never mind!
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Java Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC