2014-10-17 135 views
1

假设我们有一个整数元素数组x [N]。我怎么能知道例如元素x [1]是否大于或等于同一个数组的所有其他元素? 我使用了for循环,但它不起作用,因为我想检查一个元素是否比其他所有元素都做得更好。如果我使用for循环,相反,如果元素大于其他元素之一,它会执行某些操作,这对我的目的是错误的。你能帮我吗?Java如何将一个数组的元素与同一个数组的所有其他元素进行比较

这里我的意思的例子:

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

你想选什么? – Ketan 2014-10-17 10:24:29

回答

0

使用布尔变量

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

如果elementiInseriti[j]比任何其他元素的更小的,标志是假的,你赢了不要做点什么。

1

你可以做

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 
0

的基本想法是,你需要去整个阵列上,积累了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; 
} 
相关问题