如何打印数组的索引

时间:2015-06-24 14:13:34

标签: java arrays

我有运行数组的方法。

public static void findPairs(double[] c) {

    for (int i = 0; i < c.length; i++) {
        if (c[i] * c[i + 1] >= c[i] + c[i + 1]) {
            System.out.println();
            }   
    }
}

数组值:

c[0]0.5
c[1]1.5
c[2]2.0
c[3]2.0
c[4]3.0
c[5]5.02

我需要打印适合if表达式的数组索引。 有什么方法,我不知道吗?

例如:

(1,4)因为1.5 * 3.0 = 4.5&gt; = 4.5 = 1.5 + 3.0

由于2.0 * 3.0 = 6.0> = 5.0 2.0 + 3.0

由于

1 个答案:

答案 0 :(得分:0)

替换

System.out.println();

System.out.println('(' + c[i] + ',' + c[i+1] + ')');

哦,还有一件事,因为你没有尝试将数字与自身配对,你只想要达到倒数第二个元素,你将尝试与最后一个元素配对。所以也要替换

for (int i = 0; i < c.length; i++) {

for (int i = 0; i < c.length - 1; i++) {

但是这仍然不会产生你想要的结果,即(1,4),因为你只试图将第n个元素与第n + 1个元素配对。您将需要使用两个循环,如下所示:

for (int i = 0; i < c.length - 1; i++) {
  for (int j = i; j < c.length; j++) {
    if (c[i] * c[j] >= c[i] + c[j]) {
       System.out.println('(' + c[i] + ',' + c[j] + ')');
    }
  }   
}