- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我今天了解了 java 中的 arraycopy() 函数,并且在代码中使用它。但我不断收到 ArrayOutOfBoundsException。我试图找出一个解决方案并在谷歌上搜索解决方案,但我似乎无法解决它。如果有人可以看一下,这将很有帮助
System.arraycopy(a, 0, b, 1, N + 1);
这里,“a”是一个长度为“N”的数组,b是另一个长度为“N+1”的数组我想将数组“a”的所有元素复制到数组“b”,这样数组“a”的所有元素都从数组“b”的第二个索引开始,为数组中的另一个元素留出空间“b”
如果需要的话,这里是完整的代码:
import java.util.Random;
import java.util.Scanner;
public class JavaApplication24 {
public static long DC;
public static long DM1;
public static long DM;
private static int[] Insrtn_sort(int[] a, int N) {
int t, i;
int b[] = new int[N + 1];
DC = 0;
DM = 0;
DM1 = 0;
b[0] = Integer.MIN_VALUE;
System.arraycopy(a, 0, b, 1, N + 1);
for (int j = 1; j < N + 1; j++) {
t = b[j];
i = j - 1;
while (t < b[i]) {
b[i + 1] = b[i];
i--;
DC++;
DM1++;
}
b[j + 1] = t;
DM++;
}
return b;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random r = new Random();
float StartTime, EndTime, TotalTime;
int N = sc.nextInt();
int[] a = new int[N];
for (int i = 0; i <= N - 1; i++) {
a[i] = r.nextInt();
}
StartTime = System.currentTimeMillis() / 1000;
Insrtn_sort(a, N);
EndTime = System.currentTimeMillis() / 1000;
TotalTime = StartTime - EndTime;
for (int i = 1; i <= N - 1; i++) {
System.out.println(a[i]);
}
System.out.println("Time taken for sorting: " + TotalTime);
System.out.println("Total number of data comparisons: " + DC);
System.out.println("Total number of data movements: " + DM + DM1);
}
}
最佳答案
您的a
数组索引是从0 到[N-1]
,长度为(N
) 和b
数组索引是从 0 到 N
,长度为 (N+1
) 那么你必须写 System.arraycopy(a, 0, b, 1, N );
关于java - System.arraycopy 返回 arrayoutofboundsexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44015025/
目前我正在尝试用 java 打印一些 pdf。使用的 API 是 Apache PDF Box 2.0 版。转换图像后,我将它们写入磁盘以节省内存。在下一步中,我再次阅读它们并将标题写在图像的头部。之
打开应用程序时,有时会发现与Moshi相关的此异常: Caused by java.lang.ArrayIndexOutOfBoundsException: length=33; index=33
我正在尝试编写一个程序,当您输入数字时,该程序会输出数字的名称。它对于一位数字来说效果很好,但我遇到了障碍。每当我输入大于 10 的数字时,它都会给出 ArrayOutOfBoundsExceptio
import java.util.*; import java.util.ArrayList; class MyHashTable, E> { private ArrayList> bucke
我正在用 java 编写一个分析股票数据的程序。 我几乎让它工作了,但现在它给了我一个 ArrayOutOfBounds 异常。 int n = closingPrices.size();
假设 url = "http://gmail.com"。 我尝试从中创建一个字符串 dnsname = "Top-level com". 现在我们运行以下代码: System.out.println(
在 Python 中,如果您使用越界键/索引对集合结构进行索引,您会得到一记耳光: >>> [1, 2, 3][9] Traceback (most recent call last): File
我创建了一个在 Java 中执行值数组的方法。每当我尝试运行它时,都会遇到 ArrayOutOfBoundsException。我的控制台将错误指向是“if”语句。 for (int i = 1; i
我正在做一个关于基本 2D 塔防游戏的教程,我们基本上是试图用一堆图 block 填充一个窗口,但我在这里遇到了 ArrayOurOfBoundsException,我不明白为什么! map
我比较了 Java 中的 BufferedImage 对象。我从一组图像中获取图像,并将其与同一组中的所有图像进行比较。然而,它会导致这个奇怪的错误,将图像与其自身进行比较,并且对于其他图像来说一切正
我在这里不知所措,任何人都可以看出这段代码有什么问题吗?我在这个驱动程序中使用 sqlite: https://bitbucket.org/xerial/sqlite-jdbc/downloads 编
我收到一个 arrayoutofboundsexception 错误。当我尝试格式化要显示的草稿文本消息时。这只是一个简单的短信应用程序,我正在尝试设置文本大小和颜色。当我评论这两行时,我的应用程序没
public class WeightOnPlanetsV1 { public static double[] calcWeight(double[] gravity, double[]mass)
我在使用 replaceFirst 时得到一个奇怪的 ArrayOutOfBoundsException: "this is an example string".replaceFirst("(^th
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我是 Java 的新手。我现在才学半年。现在我正在为学校做一个项目,但我遇到了障碍: 我基本上正在制作一个程序来管理您自己的书籍。我有一个类“Books”,它保存书籍对象的数据。然后是“Library
我尝试对以下格式的数据使用过滤后的分类器: 实数,实数,实数,...,标称 其中我有 138 个实值和一个代表该类的名义字符串。我使用 J48 作为基分类器和监督离散化过滤器,如下所示: Filter
我使用的是正确显示的 JList。但是,我无法从列表中删除元素。 JList nameList = new JList(db.getAllNames()); nameList.setVisibleRo
我今天了解了 java 中的 arraycopy() 函数,并且在代码中使用它。但我不断收到 ArrayOutOfBoundsException。我试图找出一个解决方案并在谷歌上搜索解决方案,但我似乎
我们不时看到 Android 的 ART 代码崩溃。我们在没有边界检查的情况下索引到一个 int 数组,然后捕获 Java 的 ArrayIndexOutOfBoundsException 并正确处理
我是一名优秀的程序员,十分优秀!