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: 没有收到私信,有问题直接 到我博客~
2 年多之前 回复
qazxsw39
qazxsw39 回复林炳文Evankaka: 谢谢,请问可以留个联系方式吗,我私信给你了
2 年多之前 回复
Evankaka
Evankaka 回复qazxsw39: 用两个for循环,一个一个取出输出来
2 年多之前 回复
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]);}
2 年多之前 回复
qazxsw39
qazxsw39 为什么我运行的结果是[[I@15db9742
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.26 18:15

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

qazxsw39
qazxsw39 为什么我运行的结果是[[I@15db9742
2 年多之前 回复
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
上传中...
上传图片
插入图片