簡體   English   中英

Java如何將數組的元素與同一數組的所有其他元素進行比較

[英]Java how to compare an element of an array with all the other elements of the same array

假設我們有一個整數元素x [N]的數組。 我怎么知道例如元素x [1]是否大於或等於同一數組的所有其他元素? 我使用了for循環,但是它不起作用,因為我想檢查某個元素是否大於所有其他元素才能執行某項操作。 如果我使用for循環,則如果該元素大於其他元素之一,則它會執行某些操作,這對我而言是錯誤的。 你能幫我嗎?

這是我的意思的示例:

for(int i = 0; i < num && i!= j; i++) {
    if(elementiInseriti[j] >= elementiInseriti[i]) {
         do something; 
    }
}

你可以做

int x = 1; //position you wanna compare
boolean state = true;
for(int i = 0; i < elementiInseriti.length; i++) {
    if(elementiInseriti[x] < elementiInseriti[i]) {
        state = false;
        break; //no need to check for other elements coz at least 1 lesser than the conpared
    }
}
if(state)
    // do your stuffs

使用布爾變量

        boolean doSomething = true;
        for(int i = 0; i < num && doSomething; i++) {
            if(elementiInseriti[j] < elementiInseriti[i]) {  
               doSomething = false;
            }
        }
        if (doSomething)
            // do something

如果elementiInseriti[j]小於任何其他元素,則該標志將為false,並且您將不會做任何事情。

基本思想是,只要給定元素最大,就需要遍歷整個數組並累積一個boolean 請注意,您不能for循環中使用i!=j條件,因為這會過早地終止循環,並且只能根據數組中之前的元素檢查元素:

boolean isGreatest = true;
for(int i = 0; i < elementiInseriti.length && isGreatest; i++) {
    if (i != j && elementiInseriti[j] < elementiInseriti[i]) {
         isGreatest = false;
    }
}

if (isGreatest) {
    // do something;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM