Java 对大型数组排序不会返回输出
我一直在玩不同的排序函数和基本代码。然而,当我试图将数组的大小增加到1000以上时,我得到的不是一个很好的输出,而是一个空白的控制台,它说程序被终止了 有人能解释一下可能的问题吗Java 对大型数组排序不会返回输出,java,eclipse,sorting,insertion-sort,Java,Eclipse,Sorting,Insertion Sort,我一直在玩不同的排序函数和基本代码。然而,当我试图将数组的大小增加到1000以上时,我得到的不是一个很好的输出,而是一个空白的控制台,它说程序被终止了 有人能解释一下可能的问题吗 public class Sorting { public static void main(String[] args) { int[] array = generateRandomArray(10000); printArray(array); in
public class Sorting {
public static void main(String[] args)
{
int[] array = generateRandomArray(10000);
printArray(array);
insertionSort(array);
printArray(array);
}
public static void printArray(int[] arr)
{
System.out.print("[ ");
for (int i=0; i<arr.length; i++)
{
System.out.print(arr[i] +" ");
}
System.out.println("]");
}
public static int[] generateRandomArray(int n)
{
int[] arr = new int[n];
Random rnd = new Random();
for (int i=0; i<n; i++)
{
arr[i]=rnd.nextInt(5000);
}
return arr;
}
public static void insertionSort(int[] arr)
{
int temp, index;
for (int i=1; i<arr.length; i++)
{
temp=arr[i];
index=i-1;
while (index>=0 && temp<arr[index])
{
arr[index+1]=arr[index];
index--;
}
arr[index+1]=temp;
}
}
}
公共类排序{
公共静态void main(字符串[]args)
{
int[]数组=GeneratorDomainArray(10000);
打印阵列(数组);
插入排序(数组);
打印阵列(数组);
}
公共静态void打印数组(int[]arr)
{
系统输出打印(“[”);
对于(int i=0;i刚刚在我的机器上运行了它。工作正常。确保在大多数IDE中导入java.util.Random
,例如Eclipse控制台输出是有限的。如果在运行配置中将输出重定向到文件(假设您使用的是Eclipse),您应该会看到输出
在控制台输出中启用“Word wrap”可能会使其可见,再次假设它是Eclipse。Eclipse控制台中似乎有一些行长度限制。当我在命令行中运行代码时,它可以很好地打印出来
如果要在eclipse中修复此问题,请更改设置:
(1) 单击“窗口”菜单->“首选项”
(2) “运行/调试”->“控制台”
(3) 选中“固定宽度控制台”
这将使您的代码在Eclipse中工作
它确实为我提供了一个输出。我也在eclipse控制台上收到了输出。如果您使用IDE检查控制台缓冲区的限制,例如eclipse,它可以通过preferences->Run/Debug->ConsoleAnks进行设置,这确实是一个IDE问题。每个程序员参数