import java.util.Random;
class bubbleSort
{
void bubbleSort(int arr[])
{
int n = arr.length;
for(int i = 0; i < n; i++)
for(int j = 0; j < n-1; j++)
if(arr[j] > arr[j+1] )
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
void printArray(int arr[])
{
int n = arr.length;
for(int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
System.out.println();
}
public static void main(String[] args)
{
Random rand = new Random();
bubbleSort ob = new bubbleSort();
arr[100] = {rand.nextInt()};
ob.bubbleSort(arr);
ob.printArray(arr);
}
}
所以我的代码是bubbleSort的典型设置。现在,如您所见,我的数组已设置为100的特定大小,并且我打算将数组中的每个元素设为随机整数。问题是,我的数组实现不合法,我不确定如何使其合法。谁能帮助我?
答案 0 :(得分:2)
arr[100] = {rand.nextInt()};
不是初始化100个随机元素数组的有效方法。相反,我建议创建一个包含100个元素的数组
arr int[] = new int[100];
然后使用for循环将每个元素初始化为随机整数
for(int i = 0; i < 100; i++){
arr[i] = rand.nextInt(100) + 1; //Will generate a number from 1 to 100 inclusive
}
答案 1 :(得分:1)
对于初学者,您没有声明数组。您只是在不告诉编译器什么是arr的情况下开始使用arr。您也不能使用大括号中的方法调用来初始化数组,并期望它找出可以调用该方法100次的数组。
一种简单的方法(即不使用流和lambda)是使用new
为数组分配内存,然后为其分配大小。然后,您将循环遍历数组,每个值调用一次nextInt()。
int[] test = new int[100];
Random rand = new Random();
for(int value = 0; value < 100; value++) {
test[value] = rand.nextInt();
}
答案 2 :(得分:0)
由于代码生成 1 ,因此可以在声明数组时分配元素:
int[] arr = { rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(),
rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt(), rand.nextInt()};
那里有。
1 Stream.generate(() -> "rand.nextInt()").limit(100).collect(Collectors.joining(", "));
,然后让IDE格式化输出:)