java: Random 隨機陣列
阿新 • • 發佈:2019-02-04
TestRandom.java
import java.util.*; class TestRandom { // 從 m個整數中隨機抽取 n個整數,條件: m > n public static int[] genRandomArray(int m , int n) { if(m<=0) return null; if(n<=0) return null; if(m< n) return null; int[] intRet = new int[n]; int intRd = 0; // 存放隨機數 int count = 0; // 記錄生成的隨機數個數 boolean flag = false; // 是否已經生成過標誌 while(count< n){ Random rdm = new Random(System.currentTimeMillis()); intRd = Math.abs(rdm.nextInt())%m +1; for(int i=0;i<count;i++){ if(intRet[i]==intRd){ flag = true; break; }else{ flag = false; } } if(flag==false){ intRet[count] = intRd; count++; } } return intRet; } public static void main(String[] args) { int m=0,n=0; if(args.length ==2){ m = Integer.parseInt(args[0]); n = Integer.parseInt(args[1]); } else { System.out.println(" usage: java TestRandom m n "); return; } int[] ar = genRandomArray(m,n); if(ar==null){ System.out.println(" Error: int array is null "); return; } for(int i=0; i<n; i++){ System.out.print(" "+ar[i]); } } }