JAVA隨機打亂數組順序的方法
更新時間:2014年11月26日 09:21:03 投稿:shichen2014
這篇文章主要介紹了JAVA隨機打亂數組順序的方法,包含了隨機數的應用及數組的排序等操作,是Java操作數組的典型應用,需要的朋友可以參考下
本文實例講述了JAVA隨機打亂數組順序的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
復制代碼 代碼如下:
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();
}
}
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程序設計有所幫助。
您可能感興趣的文章:
相關文章
springboot2?使用activiti6?idea插件的過程詳解
這篇文章主要介紹了springboot2?使用activiti6?idea插件,本文通過截圖實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03MyBatis的注解使用、ORM層優(yōu)化方式(懶加載和緩存)
這篇文章主要介紹了MyBatis的注解使用、ORM層優(yōu)化方式(懶加載和緩存),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot 項目中的圖片處理策略之本地存儲與路徑映射
在SpringBoot項目中,靜態(tài)資源存放在static目錄下,使得前端可以通過URL來訪問這些資源,我們就需要將文件系統(tǒng)的文件路徑與URL建立一個映射關系,把文件系統(tǒng)中的文件當成我們的靜態(tài)資源即可,本文給大家介紹SpringBoot本地存儲與路徑映射的相關知識,感興趣的朋友一起看看吧2023-12-12Spring?MVC異步上傳、跨服務器上傳和文件下載功能實現(xiàn)
這篇文章主要介紹了Spring?MVC異步上傳、跨服務器上傳和文件下載功能實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Spring Boot 開發(fā)私有即時通信系統(tǒng)(WebSocket)
本文利用Spring Boot作為基礎框架,Spring Security作為安全框架,WebSocket作為通信框架,實現(xiàn)點對點聊天和群聊天2017-04-04Java簡單計時的實現(xiàn)案例(可以用來限時循環(huán))
這篇文章主要介紹了Java簡單計時的實現(xiàn)案例(可以用來限時循環(huán)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08maven如何動態(tài)統(tǒng)一修改版本號的方法步驟
這篇文章主要介紹了maven如何動態(tài)統(tǒng)一修改版本號的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12