String stringa = JOptionPane.showInputDialog("Inserire una stringa");
int x=0; //Serve per calcolare l'indice casuale dell'array da stampare alla fine
char stringachar[] = stringa.toCharArray(); //converto la stringa in array
char casuale[]= new char [stringa.length()]; //array finale che andrò a stampare
boolean estratti[]= new boolean[stringa.length()]; //controllo se il numero random è già stato estratto, vedendo se il campo di questo array è true o false
//inizializzo l'array a false;
for(int i=0; i<estratti.length;i++)
{
estratti[i]=false;
}
//riempio l'array finale
for(int i=0; i<stringachar.length;i++)
{
//calcolo il valore casuale di x e vedo se è già uscito, cioè vedo se estratti[x] è true, se lo è vuol dire che è uscito ed continua il ciclo chiamato pippo
pippo:
while(true){
System.out.println("Dentro il do, valore di x:"+x);
x=(int)(Math.random()*stringa.length()-1);
if(!estratti[x])
break pippo;
}
System.out.println("Assegnazione, valore di x: "+x);
estratti[x]=true;
casuale[i]=stringachar[x];
}