2 qazxsw39 qazxsw39 于 2015.07.26 17:41 提问

java数组为什么不可以打乱顺序

public class Arrays {

public static void main(String[] args) {
    // TODO Auto-generated method stub
int arrays[][] = {
        {3,4,6,8,6,8},
        {5,3,4,9,9,4},

};
    for (int i = 0; i< arrays.length;i++){
        for (int j =0; j<arrays[i].length; j++){
            int i1 = (int)(Math.random()*arrays.length);
            int j1 = (int)(Math.random()*arrays[i].length);

            int temp = arrays[i][j];
            arrays[i][j] = arrays[i1][j1];
            arrays[i1][j1] = temp;
        }
    }

    System.out.println(arrays);

}

}
为什么不能打乱顺序?

13个回答

Evankaka
Evankaka   Ds   Rxr 2015.07.26 19:53
已采纳

我运行了下下,输入结果打乱了的样
每次的运行结果都不一
9 8 6 8 3 4

6 5 3 4 4 9


5 4 8 4 9 8

3 4 6 9 6 3

Evankaka
Evankaka 回复qazxsw39: 没有收到私信,有问题直接 到我博客~
接近 3 年之前 回复
qazxsw39
qazxsw39 回复林炳文Evankaka: 谢谢,请问可以留个联系方式吗,我私信给你了
接近 3 年之前 回复
Evankaka
Evankaka 回复qazxsw39: 用两个for循环,一个一个取出输出来
接近 3 年之前 回复
Evankaka
Evankaka 回复qazxsw39: 你要这么输出啊:for (int i = 0; i< arrays.length;i++){ for (int j =0; j<arrays[i].length; j++){System.out.println(arrays[i][j]);}
接近 3 年之前 回复
qazxsw39
qazxsw39 为什么我运行的结果是[[I@15db9742
接近 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.26 18:15

下个断点,看下i1 j1是多少

qazxsw39
qazxsw39 为什么我运行的结果是[[I@15db9742
接近 3 年之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.26 17:51

JAVA随机打乱数组的顺序
Java面试题:有数组a[n],用java代码将数组元素顺序颠倒
java代码将数组元素顺序颠倒
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qazxsw39
qazxsw39   2015.07.26 17:49

谁可以告诉我一下,谢谢

tongyi55555
tongyi55555   2015.07.26 18:34

不明白你这个程序的目的是什么,你想要什么样的顺序呢?

w965440884
w965440884   2015.07.26 19:45

这个就可以打乱顺序了啊 ~~~~

你那个是产生随机数 进行互换啊

xuanfengshizi
xuanfengshizi   2015.07.26 19:50

假如你的数组String[] s={A,B.C.D.E.F}声明一个相同的长度的boolean数组
while(){
选取数组s一个随机的位子 ,判断相同位子的boolean的值如果是true就重新循环

如果是false并且把boolean数组中的相同位子的值置为true, 挑选出来放在新的数组中
}
代码自己写没什么用的算法。。。。

xuanfengshizi
xuanfengshizi   2015.07.26 19:54

顺便说一句你这是冒泡算法 排序用的

xuanfengshizi
xuanfengshizi   2015.07.26 19:55

为什么要纠结没什么实际意义的东西,这就像小学的奥数!!真的没什么卵用

chenliwen1991303
chenliwen1991303   2015.07.26 20:11

首先,你那个程序从二维数组里的第一个数值开始和随机在本数组中选个数互换,确实打乱顺序了,将该二维里的所有数都调了顺序,。但是,如果说你只想将二维数组中的第一个一维的,第二个一维的,(姑且这么看),不交叉的打乱顺序,那就不要设置i1变量,直接用i就行。

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java打乱数组顺序
java打乱数组顺序
JAVA随机打乱数组的顺序
import java.util.Random; public class RandomSort { private Random random = new Random(); //数组大小 private static final
打乱数组顺序的三种方法
sort排序法(最简单的打乱数组顺序的方法) 原理: 利用sort用法:arr.sort(compareFunction) 如果 compareFunction(a,b) 返回的值大于 0 ,则 b 在 a 的前边; 如果 compareFunction(a,b) 返回的值等于 0 ,则a 、b 位置保持不变; 如果 compareFunction(a,b) 返回的值小...
java 随机数 随机打乱数组 随机抽取
最近做项目遇到一些随机数,随机打乱数组等关于随机处理的问题,今天做一个总结。 1.给出一个生成指定长度的随机密码代码,代码如下: import java.util.Random; public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-ge
如何打乱一个数组的顺序
//   数组自由排列    public static void RandomTest() { Random ran = new Random(); int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int b[] = new int[a.length]; int w = a.length; int x = 0; int y; for (int i
Java基础之随机打乱一个顺序数组
如何打乱一个顺序的数组,其实集合的帮助类Collection就有现成的方法可用,而且效率还蛮高的,总比自定义随机数等等方法要好很多。其实乱序就这么简单,步骤如下: 1. 将一个顺序排列的数组添加到集合中 2. 可以用集合帮助类Collections的shuffle()方法 3. 用hasNext()、next()方法遍历输入集合 [java] v
完美洗牌问题(打乱数组间各元素的顺序)
除了前一篇的完美洗牌问题,还有一种洗牌,就是乱序(shuffle)的问题,将54张有序的扑克牌的顺序打乱,实现洗牌操作。局部洗牌法1。随机产生一个1-n的数x,做为第一张牌。 2。随机产生一个1-(n-1)的数y,如果y<x,则将y作为第二张牌,否则将y+1作为第二张牌。 3。随机产生一个1-(n-i)的数z,取第z个没有被抽出来的作为第i张牌。(i=3,4,5…54) 这种算法的复杂度为O(
数组随机打乱顺序方法
通过对数组的随机乱序,以实现让数组随机的输出内容,如游戏扑克牌的洗牌功能。
shuffle:随机打乱一个数组的顺序的另一种方法
随机打乱一个数组的顺序在Java编程中,有的时候我们会遇到这样一个问题:给定一个数组,要求把数组内元素的顺序随机打乱,然后输出。 通过算法解决这个问题的方法有很多人写过了。我写一个通过调用Java中Collections类的shuffle方法来实现: “` java import java.util.ArrayList; import java.util.Collections; impo
随机打乱一个数组(输出无序数组)
随机打乱一个数组(输出无序数组)