JAVA随机打乱数组顺序的方法

作者:shichen2014 时间:2023-08-11 18:56:03 

本文实例讲述了JAVA随机打乱数组顺序的方法。分享给大家供大家参考。具体实现方法如下:

import java.util.Random;   
   
public class RandomSort {   
    private Random random = new Random();   
    //数组大小   
    private static final int SIZE = 10;   
    //要重排序的数组   
    private int[] positions = new int[SIZE];   
       
    public RandomSort() {   
        for(int index=0; index<SIZE; index++) {   
            //初始化数组,以下标为元素值   
            positions[index] = index;   
        }   
        //顺序打印出数组的值   
        printPositions(); 
    }   
       
    //重排序   
    public void changePosition() {   
        for(int index=SIZE-1; index>=0; index--) {   
            //从0到index处之间随机取一个值,跟index处的元素交换   
            exchange(random.nextInt(index+1), index);   
        }   
        printPositions();   
    }   
       
    //交换位置   
    private void exchange(int p1, int p2) {   
        int temp = positions[p1];   
        positions[p1] = positions[p2];   
        positions[p2] = temp;  //更好位置 
    }   
       
    //打印数组的值   
    private void printPositions() {   
        for(int index=0; index<SIZE; index++) {   
            System.out.print(positions[index]+" ");            
        }   
        System.out.println();   
    }   
   
    public static void main(String[] args) {   
        RandomSort rs = new RandomSort();   
        rs.changePosition();   
        rs.changePosition();   
        rs.changePosition();   
    }   
}

希望本文所述对大家的Java程序设计有所帮助。

标签:JAVA,随机,数组
0
投稿

猜你喜欢

  • Guava中这些Map技巧可以让代码量减少了50%

    2023-03-16 02:35:42
  • 一文助你搞懂参数传递原理解析(java、go、python、c++)

    2022-04-04 13:10:15
  • SpringBoot 配合 SpringSecurity 实现自动登录功能的代码

    2023-07-22 04:58:22
  • C#实现中英文混合字符串截取的方法

    2022-07-11 10:02:35
  • C#七大经典排序算法系列(上)

    2023-08-14 04:30:45
  • C#生成注册码的实例代码

    2022-05-16 23:35:58
  • Docker 存储驱动详细介绍

    2023-12-21 03:18:34
  • Unity实现VR中在黑板上写字效果

    2021-08-04 20:11:11
  • 详解feign调用session丢失解决方案

    2021-08-29 20:38:20
  • Android自定义View实现验证码

    2021-11-08 01:13:31
  • Android 如何修改APK的默认名称

    2021-08-12 18:56:42
  • Java实现字符串转换成可执行代码的方法

    2022-06-14 02:30:49
  • Android中TimePicker与DatePicker时间日期选择组件的使用实例

    2023-08-07 01:35:15
  • JavaMap两种遍历方式keySet与entrySet详解

    2022-04-17 14:36:29
  • java如何通过IP解析地理位置

    2021-09-11 08:01:07
  • c# 如何使用 My 命名空间

    2022-12-25 20:23:39
  • aop的实现原理_动力节点Java学院整理

    2022-04-02 16:09:21
  • java导出生成word的简单方法

    2023-11-23 23:07:13
  • android实现文件下载功能

    2022-07-29 18:03:10
  • 详解Java反射创建对象

    2022-12-10 03:52:23
  • asp之家 软件编程 m.aspxhome.com