java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?

Python010

java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?,第1张

首先键盘录入可以用scanner类实现控制台输入,然后打乱数组可以用random类产生随机数来控制输入的数存入随机的数组位置,这个地方要注意随机数不可重复,要控制范围在定义的数组长度内,最后遍历直接一个for循环。

//给你个思路:给要给随机值,该随机值在索引范围内,然后从索引值里面取元素,在该元素对应

//的位置,进行二次随机取其他元素,然后进行交换,就可以了!

//还有更简单的办法,java早就想到了这一点,在集合工具里面就提供该方法,其实他内部也是

//这样的思路,用随机值进行交换!

import java.util.*

public class ArrayListTest {

public static void main(String[] args) {

Integer[] arr=new Integer[10]

for (int i = 0 i < arr.length i++) {

arr[i]=i+1

}

System.out.println("\n原序:"+Arrays.toString(arr)+"\n")//原数组!

List<Integer> list=Arrays.asList(arr)//借用集合帮忙排序!

for(Integer a:list) {

Collections.shuffle(list)//随机排序!

System.out.println("随机:"+Arrays.toString(arr))//排序后!

}

}

}

//数字或者数量,你可以随意修改,二维数组也可以照用!

刚刚自己写的方法,可以用

//从第一个数开始,数组每一个数与随机一个位置的数交换值

public static void shuffer(int[] arr){

Random random = new Random()

int length = arr.length

for (int i = 0i <lengthi++) {

int index = random.nextInt(length)

//与随机的位置交换数据

int temp = arr[i]

arr[i] = arr[index]

arr[index] = temp

}

}