我有运行数组的方法。
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 等由于
答案 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] + ')');
}
}
}