2013-04-28 61 views
1

我正在研究比較兩個由正則表達式「//」分割的版本。在Java中同步比較兩個陣列

我在努力嘗試找出一種方法來比較數組中的兩個值「同步」,以查看一個值是否大於另一個值。例如說我有:

int[] newerVersion = {2, 4, 7}; 
int[] olderVersion = {1, 2, 0}; 

在這種情況下,我會努力工作,如果出2> 1和4> 2,依此類推。

我現在所擁有的代碼可以通過將數組映射到List並執行Collections.reverse()來顛倒數組的順序。我在正確的軌道上嗎?關於如何寫這樣的東西的任何想法?

回答

2

只是遍歷數組了 - 無需使用列表或收藏等陣列

boolean check = false; 
for(int i = 0; i < newerVersion.length; i++) { 
     if(newerVersion[i] > oldVersion[i]) { 
      check = true; 
      break; 
     } 
     else if(newerVersion[i] < olderVersion[i]) { 
      break; 
     } 
} 

支票是真的,如果有新的版本

boolean bools = new boolean[newVersion.length]; 
for(int i = 0; i < newVersion.length && i < oldVersion.length; i++) { 
    bools[i] = newVersion[i] > oldVersion[i]; 
} 
+0

是的,但問題是,如果版本是1.9.1,並且服務器上的版本是1.8.2,那麼它會說有一個更新的版本可用(1.8.2),這會過時了。 – toastedtruth 2013-04-29 12:15:37

0

迭代。