Advertisement
Guest User

Untitled

a guest
Jul 13th, 2018
3,586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. /**
  2.      * Compone una chiave composta da dim caratteri di cui alfa sono caratteri dell'alfabeto italiano
  3.      * @param dim lunghezza della chiave
  4.      * @param alfa numero di caratteri della chiave
  5.      * @return chiave
  6.      */
  7.     private String getRandomKey(int dim,int alfa) {
  8.  
  9.         if (dim<0) return null;
  10.        
  11.         if (dim<alfa) dim = alfa;
  12.        
  13.  
  14.         Random rnd = new Random();
  15.         int num = dim-alfa;
  16.         int appo=0;
  17.         String pass="";
  18.         int alterna=0;
  19.         int contnum=0;
  20.         int contalfa=0;
  21.         for (int i=1;i<=dim;i++) {
  22.             alterna = rnd.nextInt(2);
  23.             if (alterna==1 && contalfa>=alfa){
  24.                 alterna=0;
  25.             }else{
  26.                 if (contnum>=num && alterna==0) {
  27.                     alterna=1;
  28.                 }
  29.             }
  30.            
  31.             if (alterna==1)
  32.             {
  33.                 contalfa++;
  34.                 appo = rnd.nextInt(25);
  35.                 switch (appo)
  36.                 {
  37.                     case 0 : pass = pass+"A";break;
  38.                     case 1 : pass = pass+"B";break;
  39.                     case 2 : pass = pass+"C";break;
  40.                     case 3 : pass = pass+"D";break;
  41.                     case 4 : pass = pass+"E";break;
  42.                     case 5 : pass = pass+"F";break;
  43.                     case 6 : pass = pass+"G";break;
  44.                     case 7 : pass = pass+"H";break;
  45.                     case 8 : pass = pass+"I";break;
  46.                     case 9 : pass = pass+"J";break;
  47.                     case 10 : pass = pass+"K";break;
  48.                     case 11 : pass = pass+"L";break;
  49.                     case 12 : pass = pass+"M";break;
  50.                     case 13 : pass = pass+"N";break;
  51.                     case 14 : pass = pass+"O";break;
  52.                     case 15 : pass = pass+"P";break;
  53.                     case 16 : pass = pass+"Q";break;
  54.                     case 17 : pass = pass+"R";break;
  55.                     case 18 : pass = pass+"S";break;
  56.                     case 19 : pass = pass+"T";break;
  57.                     case 20 : pass = pass+"U";break;
  58.                     case 21 : pass = pass+"W";break;
  59.                     case 22 : pass = pass+"X";break;
  60.                     case 23 : pass = pass+"Y";break;
  61.                     case 24 : pass = pass+"Z";break;
  62.                 }
  63.             }
  64.             if (alterna==0)
  65.             {
  66.                 contnum++;
  67.                 appo = rnd.nextInt(10);
  68.                 switch (appo)
  69.                 {
  70.                     case 0 : pass = pass+"0";break;
  71.                     case 1 : pass = pass+"1";break;
  72.                     case 2 : pass = pass+"2";break;
  73.                     case 3 : pass = pass+"3";break;
  74.                     case 4 : pass = pass+"4";break;
  75.                     case 5 : pass = pass+"5";break;
  76.                     case 6 : pass = pass+"6";break;
  77.                     case 7 : pass = pass+"7";break;
  78.                     case 8 : pass = pass+"8";break;
  79.                     case 9 : pass = pass+"9";break;
  80.                 }
  81.             }
  82.         }
  83.  
  84.         return pass;
  85.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement