求一随机算法!范围是26个大写字母,随机选择10个。

解决方案 »

  1.   

    public static String[] getString(){
     String select[] ={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
     String[] select10 = new String[10];
     for(int i=0;i<select10.length;i++){
    int j= (int)(Math.random()*26);
    select10[i]=select[j];
     }  
     return select10;
    }
      

  2.   

    public class T {
    public static void main(String args[]) {
    char allCapital[] = new char[26];
    char result[] = new char[10];
    for (int i = 0; i < 26; i++)
    allCapital[i] = (char) (i + 65);
    // can repeat
    for (int i = 0; i < 10; i++)
    result[i] = allCapital[(int) (Math.random() * 26)];
    System.out.println(String.valueOf(result));
    // no repeat
    int n = allCapital.length;
    char tmpArr[] = allCapital;
    int random;
    for (int i = 0; i < 10; i++) {
    random = (int) (Math.random() * n);
    result[i] = tmpArr[random];
    tmpArr[random] = tmpArr[n - 1];
    n--;
    }
    System.out.println(String.valueOf(result));
    }
    }