954,173 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Find out the problem of my code.

hi,
can anyone pls find out the problem of my code.

Code:

public class binarysearch {
public static void main ( String[] args ) {
int[] array = {2,2,10,20,55,100};
int target = 2;
int left = 0;
int right = array.length - 1;
int mid = -1;

while ( left <= right ) {
mid = ( left + right ) / 2;

if ( target == array[mid] )
break;
else if ( target < array[mid] )
right = mid - 1;
else
left = mid - 1;
}

if ( mid != -1 )
System.out.println ( target + " found at index " + mid );
else
System.out.println ( target + " not found" );
}
}

Problem :
here it's only showing me the 1st position, but i want it to show me both the position. can anyone pls fix-up the error of my code.

thank you

shantuli

shantuli
Newbie Poster
16 posts since Jul 2004
Reputation Points: 10
Solved Threads: 0
 

hi everyone,

What is this program supposed to do ?
Please explain in detail so we can help you out

Richar West

freesoft_2000
Practically a Master Poster
623 posts since Jun 2004
Reputation Points: 25
Solved Threads: 10
 

Are you trying to find the INDEX of any one of the value in the integer array? Since you have declared only a single dimensional array, there is only one Index for it.

ChaseVoid
Junior Poster
116 posts since Aug 2007
Reputation Points: 40
Solved Threads: 12
 

ooh! I get it, you want to find all the indexes where a number "target" has appeared, right? Well it's showing 0, you also need 1, cause '2' also appears in that index. However, according to your program, there is no way to put that position. I' have no idea about Java, but I have done it in C++ (just now LOL), so I'll try to convert it, and tell you. You can use continue statement too for more clarity.

ChaseVoid
Junior Poster
116 posts since Aug 2007
Reputation Points: 40
Solved Threads: 12
 
I' have no idea about Java, but I have done it in C++

for once this is java forum, secondly this post is nearly 3 years old so what you trying to achive?

peter_budo
Code tags enforcer
Moderator
15,433 posts since Dec 2004
Reputation Points: 2,806
Solved Threads: 901
 

>this post is nearly 3 years old
Argh! no ways.. I thought I was a recent one, I saw it in the display of similar threads -_-' Sorry. I didn't wanted to resurrect an old thread. I'm so sorry.

I'm trying to learn java, so I was going through this forum, and saw the thread. Didn't realize it was THAT old. I feel like a crap. and couldn't even get the effin result right T_T

ChaseVoid
Junior Poster
116 posts since Aug 2007
Reputation Points: 40
Solved Threads: 12
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You