Java 如何打印数组的索引
我有一个运行数组的方法Java 如何打印数组的索引,java,arrays,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(); } } } 我需要打印适合if表达式的数组索引。 有什么方法我不知道吗 例如: (1,
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();
}
}
}
我需要打印适合if
表达式的数组索引。
有什么方法我不知道吗
例如:
(1,4)因为1.5*3.0=4.5>=4.5=1.5+3.0
(2,4)和(3,4),因为2.0*3.0=6.0>=5.0 2.0+3.0
等等
谢谢更换
System.out.println();
与
还有一件事,因为你不想把一个数字和它自己配对,你只想到达倒数第二个元素,你会尝试和最后一个元素配对。所以也要更换
for (int i = 0; i < c.length; i++) {
for(int i=0;i
与
for(int i=0;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] + ')');
}
}
}
for(int i=0;i=c[i]+c[j]){
System.out.println('('+c[i]+','+c[j]+');
}
}
}
也许你需要System.out.println(i);
当你的i
达到c.length-1时,你会遇到一个arrayindexoutofbounderror
因为c[i+1]
将超出范围。我的打印格式应该是:(1,4)我编辑了我的答案以符合您的格式。请查看。编程愉快!我再次编辑了它,因为我发现了另一个事实,您必须进行更改才能使其按您想要的方式工作。BR
for (int i = 0; i < c.length; i++) {
for (int i = 0; i < c.length - 1; i++) {
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] + ')');
}
}
}