[英]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.