「java随机打乱」java list随机乱序
今天给各位分享java随机打乱的知识,其中也会对java list随机乱序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java 随机打乱一个数组,不能使用任何的工具包
- 2、如何在JAVA中随机打乱输出一组数字而不重复
- 3、java拼图游戏随机打乱
- 4、java将字符串随机打乱并且可以重新组合的方法?
- 5、java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
- 6、java里怎样打乱(洗牌)一个数组
Java 随机打乱一个数组,不能使用任何的工具包
刚刚自己写的方法,可以用
//从第一个数开始,数组每一个数与随机一个位置的数交换值
public static void shuffer(int[] arr){
Random random = new Random();
int length = arr.length;
for (int i = 0; i length; i++) {
int index = random.nextInt(length);
//与随机的位置交换数据
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
如何在JAVA中随机打乱输出一组数字而不重复
哥给你完善下
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
public class A6 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
boolean same = false;
int num1 = 0;
int num2 = 0;
while (!same) {// if the numbers which user enter are the same,do it
// again
try {
System.out.print("enter a number: ");// ask user a number
num1 = Integer.parseInt(in.readLine());
System.out.print("enter another number: ");// ask user another
// number
num2 = Integer.parseInt(in.readLine());
if (num1 != num2) {
same = true;// if the number are different,continue the next part and don't need to enter again
} else {
System.out.println("two numbers is same.");// if not , ask user to enter again
}
} catch (NumberFormatException nfc) {// text the enter is a number or not,if not,ask user enter again
System.out.println("not a number");// show user the reason why get false
}
}
//Add starts
ListInteger list = new ArrayListInteger();
int max = num1 num2? num1: num2;
int min = num1 num2? num1: num2;
Random rand = new Random();
while(list.size() (max - min + 1)){
int value = min + rand.nextInt(max - min + 1);
if(value = min value = max !list.contains(value)){
list.add(new Integer(value));
}
}
//Calcuate sum for each pair
int sum[] = new int[list.size() - 1];
for(int i = 0; i list.size() - 1; i++){
sum[i] = list.get(i).intValue() + list.get(i+1).intValue();
}
Arrays.sort(sum); //升序排列结果
System.out.println("Max pair sum is: " + sum[sum.length - 1]);
System.out.println(list.toString());
//Add ends
}
}
--------------测试
enter a number: 6
enter another number: -3
Max pair sum is: 10
[3, 4, 6, -2, 0, 2, -1, 5, 1, -3]
java拼图游戏随机打乱
我猜cellMove这个方法是不是有问题,传的是坐标,而不是cell,只做了移动,而没有清除位置原来的方块内容
java将字符串随机打乱并且可以重新组合的方法?
Scanner scanner = new Scanner(System.in);
System.out.print("输入字符串:");
String str = scanner.nextLine();
ListMap mapList = new ArrayList();
int length = str.length();
for(int i = 0;i length;i++){
int x = (int)(Math.random()*length);
Map map = new HashMap();
map.put("sort",x);
map.put("value",str.charAt(i));
mapList.add(map);
}
System.out.print("输出随机变换后的结果:");
mapList.stream()
.sorted(Comparator.comparing(o - o.get("sort").toString()))
.forEach(x- System.out.print(x.get("value").toString()));
System.out.println();
java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
首先键盘录入可以用scanner类实现控制台输入,然后打乱数组可以用random类产生随机数来控制输入的数存入随机的数组位置,这个地方要注意随机数不可重复,要控制范围在定义的数组长度内,最后遍历直接一个for循环。
java里怎样打乱(洗牌)一个数组
//给你个思路:给要给随机值,该随机值在索引范围内,然后从索引值里面取元素,在该元素对应
//的位置,进行二次随机取其他元素,然后进行交换,就可以了!
//还有更简单的办法,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");//原数组!
ListInteger list=Arrays.asList(arr);//借用集合帮忙排序!
for(Integer a:list) {
Collections.shuffle(list);//随机排序!
System.out.println("随机:"+Arrays.toString(arr));//排序后!
}
}
}
//数字或者数量,你可以随意修改,二维数组也可以照用!
关于java随机打乱和java list随机乱序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。