网站首页 > 文章中心 > 其它

java打乱代码

作者:小编 更新时间:2023-09-24 13:34:42 浏览量:95人看过

java将字符串随机打乱并且可以重新组合的方法?

Scanner scanner = new Scanner(System.in);

java打乱代码-图1

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("输出随机变换后的结果:");

java打乱代码-图2

mapList.stream()

.sorted(Comparator.comparing(o - o.get("sort").toString()))

.forEach(x- System.out.print(x.get("value").toString()));

System.out.println();

java 如何用math.random打乱数组里的所有元素

public?class?Main?{

/**

*?}

*?

*?"A"这个顺序打印出来就好

*?麻烦贴一下代码?一段就好

*/

public?static?void?main(String[]?args)?{

"Q",?"K",?"A"?};

boolean?falg?=?true;

int?count?=?0;

for?(int?i?=?0;?i?cards.length;?i++)?{

if?(cards.length?-?i?-?1?==?0)?{//最后一张牌?无需随机?

System.out.println(cards[0]);//输出最后一张牌

}?else?{//不是最后一张牌?还需随机选择

int?index?=?(int)?(Math.random()?*?100)

%?(cards.length?-?i?-?1);

System.out.println(cards[index]?+?"?index=="?+?index);//输出随机选到的牌

for?(int?j?=?index;?j?cards.length?-?(i?+?1);?j++)?{//数组出掉的牌?放到后面?不再操作

cards[j]?=?cards[j?+?1];

JAVA怎么打乱一串数字的顺序?不要重复的.新手.

数组去重有两个选择:

第一段:编写判断语句

如果没有,添入数组,如果有,不添入数组.

System.out.println("How many numbers? ");

Scanner key = new Scanner(System.in);

int n = key.nextInt();

int[] all = new int[n];

int allNum=0;

boolean flag;

for (int num = 0; num n; num++) {

flag=true;

int random = (int) (Math.random() * n);

System.out.print(random + " ");

//循环判断元素与random是否重复

for (int mark = 0; mark all.length; mark++) {

if (random == all[mark]) {

flag=false;

//如果不重复添入数组里

if(flag){

all[allNum]=random;

allNum++;

//如果有一个重复的数字,数组后面就会多一个0,现在要去除0

int[] allTrue=Arrays.copyOf(all, allNum);

//输入 最后去重以后的数组

for (int num = 0; num allNum; num++) {

System.out.print(allTrue[num]+" ");

第二段:使用Set集合去重

java里怎样打乱(洗牌)一个数组

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

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

java打乱代码-图3

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

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

import?java.util.*;

public?class?ArrayListTest?{

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代码把打乱的数字1到13按从大到小排序

有很多排序算法可以选择,譬如冒泡排序,插入排序,选择排序等等.可以在 维基百科里搜一下"排序算法",我就正在看这个.我给你贴个选择排序的例子.

选择排序算法的思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕

/*选择排序(降序)*/

static void selectSort(int[] arr)

{

int n = arr.length;

int max;

for (int i=0; in-1; i++)

max= i;

for (int j=i+1; jn; j++)

if (arr[max]arr[j])

max = j;

if (max != i)

swap(arr, max, i);

static void swap(int[] arr, int i, int j)

int tmp = 0;

tmp = arr[i];

arr[i] = arr[j];

arr[j] = tmp;

我写了个java代码,编译没有问题,但是执行的时候就出了一堆乱七八糟的代码,这是怎么回事?

解决方法有两个:

①.,安装和JDK相同版本的Java运行时(JRE),并正确设置PATH变量.验证方法是:

在黑窗口里分别输入java -version和javac -version,两个版本要一致,或者java的版本更高.

相关命令截图如下:

以上就是土嘎嘎小编为大家整理的java打乱代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章