所以这就是我与 Java 搞乱的交易,试图制作一个程序,该程序将采用给定的 int[]
并制作另一个 int[]
将按升序排列...
所以这里的代码:
import java.util.*;
public class Accending_order {
public static void main(String args[]) {
int[] dArray = {
1, 34, 25, 67, 35, 68, 88
};
int[] oArray = new int[200];
int[] countOf = new int[200];
for (int i = 0; i < dArray.length; i++) {
int NumForLoop = dArray[i];
for (int j = 0; j < dArray.length; j++) {
int diff = 0;
if (j != i) diff = NumForLoop - dArray[j];
if (diff < 0) countOf[i]++;
}
for (int k = 0; k < dArray.length; k++) {
oArray[k] = dArray[dArray.length - countOf[k]];
}
for (int i2 = 0; i2 < oArray.length; i2++) {
System.out.print(oArray[i2]);
}
}
}
}
这是它显示的错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at Accending_order.main(Accending_order.java:19)
请帮忙......
最佳答案
问题就在这里
oArray[k] = dArray[dArray.length - countOf[k]];
当countOf[k] = 0
时,您尝试访问dArray[dArray.length]
并且dArray.length
为7,但你的数组包含索引为 0..6 的元素
关于java - JAVA 中整数数组的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26592553/