java【不用list】如何将数组元素顺序打乱

String[]cards={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}打乱顺序不用list<>... String[] cards = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}
打乱顺序 不用list<>
展开
 我来答
百度网友07353a3
2016-10-09 · 超过30用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:44.1万
展开全部
public class RandomNumber {

public static void main(String[] args) {
String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
for (int i = 0; i < 10; i++) {
int firstIndex = (int) (Math.random() * Math.round(cards.length));
int secondIndex = (int)(Math.random() * Math.round(cards.length));
if (firstIndex == secondIndex)
continue;
String temp = cards[firstIndex];
cards[firstIndex]=cards[secondIndex];
cards[secondIndex]=temp;
}
for(String s:cards)
System.out.println(s);
}
}

//望采纳,谢谢
puziguo
2016-10-09 · TA获得超过1928个赞
知道小有建树答主
回答量:884
采纳率:86%
帮助的人:833万
展开全部
这好办得很嘛, 假如长度为10, 从10内随机取一个数,把改下标的值和下标0互换, 换个10次或者更高就行了
追问
能贴个代码吗
追答
public static void main(String[] args) {
        String[] cards = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        int len = cards.length;
        java.util.Random ran = new java.util.Random();
        for(int i = 0;i < 10;i++){
            int temp = ran.nextInt(len);
            String c = cards[temp];
            cards[temp]=cards[0];
            cards[0]=c;
        }
        for(int i = 0;i < len; i++){
            System.out.print(cards[i]+" ");
        }
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式