2 回答

TA贡献1780条经验 获得超1个赞
首先在这个循环的主函数中:
for(int element = 0; element < 50; element++)
{
values[element] = randomNumbers.nextInt(10000);
}
您在 10,000 数组中仅创建 50 个随机数,而数组中的其他数字将默认分配为 0。
第二:尝试 instede 这行:IntBubbleSorter.bubbleSort(values); 这行:bubbleSort(values);

TA贡献1841条经验 获得超3个赞
如果您的 main 和 bubbleSort 函数位于不同的类中,请确保它们位于同一个包(文件夹)中。
randomNumbers.nextInt(10000)
意味着下一个随机数应该在 0 到 10000 之间,并且您只生成 50 个随机数。
我创建了两个类,一个用于主函数,另一个用于冒泡排序。您应该将它们更改为对您有益的任何内容,但请确保它们位于同一文件夹中(同一包)
主类:
import java.util.Random;
public class MainClass {
public static void main(String[] args)
{
// Initialize Array
int [] values = new int[10000];
Random randomNumbers = new Random();
for(int index = 0; index < values.length; index++)
{
values[index] = randomNumbers.nextInt(10000);
}
System.out.println("Original order: ");
for(int index = 0; index < 50; index++)
{
System.out.print(values[index] + " ");
}
IntBubbleSorter.bubbleSort(values);
System.out.println("\nSorted order: ");
for(int index = 0; index < 50; index++)
{
System.out.print(values[index] + " ");
}
System.out.println();
}
}
IntBubbleSorter 类:
public class IntBubbleSorter {
public static void bubbleSort (int[] array) {
int lastPost;
int index;
int temp;
for(lastPost = array.length - 1; lastPost >= 0; lastPost--)
{
for(index = 0; index <= lastPost - 1; index++)
{
if(array[index] > array[index + 1])
{
temp = array[index];
array[index] = array[index + 1];
array[index + 1] = temp;
}
}
}
}
}
添加回答
举报