2013-06-03 23 views
1

如何檢查例如從一個數組,如果5<10>5<10如何檢查在Java中,如果5 <10> 5 <10爲n

代碼:

int[] arr = {5,10,5,10,5,10,5}; 

for(int i = 0; i < arr.length; i++) { 
    for(int j = 1; j < arr.length - i; j++) { 
     if(arr[j-1] < arr[j] && arr[j] > arr[j+1]) { 
      System.out.println("ok!"); 
     } 
    } 
} 

現在我有這個,但它是錯誤的。

+0

是它應該是大於更小,則更大?或替代5,10? – greedybuddha

+0

是大於小於大於大於 – user2417932

+1

假設您將其編輯爲您的問題和標題。沒人知道你在說什麼現在的樣子。 – EJP

回答

3

你只有一個一維數組,所以你應該可以用一個循環做到這一點。你的內循環看起來很接近。嘗試:

int[] arr = {5,10,5,10,5,10,5}; 

for(int j = 1; j < arr.length-1; j++){ 
    if(arr[j-1] < arr[j] && arr[j] > arr[j+1]){ 
     System.out.println("ok!"); 
    } 
} 

這將啓動與所述第二元件和與第二到最後一個元素結束,並且檢查每邊爲您所定義的條件的元素。

0

這是假設你有至少2個成員的陣列中(可以檢查前):

boolean isOk = true; 

for(int i=1;i<arr.length;i+=2){ 
     isOk = isOk && (arr[i] > arr[i-1]) && (arr.length == i+1 || (arr[i] > arr[i+1])); 
    } 
} 

if(isOk) { 
    System.out.println("ok!"); 
}