# Thread: Checking ascending order of array

1. Member
Join Date
Mar 2009
Posts
45
Rep Power
0

## Checking ascending order of array

Hi got an array form main method which is entered by the user (array size not known until input by user) and then theres a method which returns a boolean of true or false if the array entered is in ascending order. I can get the user input fine, just having trouble with the logic of the method to check if the arrays in ascending order. Heres my code:

public static boolean numerical(int[] a){

boolean result = false;

for(int i=0;i<a.length-1;i++){
if(a[i] < a[i+1]){
result = true;
}
else if(a[i] > a[i]+1){
result = false;
}
if(result != true){
return result;
}
}

return result;

}

I thought this would work but I get not what I wanted when I run the code. I thought that we can check the array contents in order from i against the number nearest to it i+1 then if the current i in the array is > then the contents of i+1 it would return the boolean false, as it shows the arrays not in order. Could someone help with the logic of this or help with my code.

This is a homework exercise so I have to write the searching by myself without like already built array methods.

2. You have it almost right; an array is in ascending or if a[i] <= a[i+1] for every i in the range 0 ... n-2; note the 'n-2' because when i is at its upperbound you also refer to element i+1 which is n-2+1 which is the last element in the array (arrays are zero indexed). If you find an element for which the above condition doesn't hold you can return false immediately.

kind regards,

Jos

3. Senior Member
Join Date
Oct 2010
Location
Germany
Posts
787
Rep Power
8
Java Code:
`else if(a[i] > [B]a[i]+1[/B])`

4. Member
Join Date
Mar 2009
Posts
45
Rep Power
0
else if(a[i] > a[i]+1)

Thanks I changed it to :
else if(a[i] > a[i+1])

and it started to work.
Thanks for all the help

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•