buona sera,
ho scritto un programma che ha come classe un generatore di numeri casuali non ripetibili...
ora vi implemento il codice:
codice:CLASSE NumeroCasuale import java.util.Random; public class NumeroCasuale { private int numero; private int [] controllo=new int [13]; private Random casuale; private boolean b; //costruttori public NumeroCasuale () { this.numero=0; this.casuale=new Random (); this.b=false; } public NumeroCasuale (int n,Random c,boolean b) { this.numero=n; this.casuale=c; this.b=b; } //get-set di numero public int getNumero () { return numero; } public void setNumero (int n) { this.numero=n; } //metodo int controllo public int controllo () { for (int i=0;i<controllo.length;i++) { controllo[i]=100; } return controllo[13]; } //metodo int numero public int numero () { numero=casuale.nextInt(52); this.b=false; for (int i=0;i<controllo.length;i++) { if (controllo[i]==100) { controllo[i]=numero; } } do { for (int i=0;i<controllo.length;i++) { if (numero==controllo[i]) { b=true; numero=casuale.nextInt(52); break; } if (i==controllo.length) { return numero; } } } while (b); return numero; } }il problema persiste nel output, infatti non mi stampa una serie di numeri casuali non ripetibili da 0 a 51 bensì questo:codice:CLASSE Main public class Main { public static void main(String[] args) { //creazione 4giocatori - 2carte final int X=2; final int Y=4; NumeroCasuale [][] giocatori=new NumeroCasuale [X][Y]; //impostare le carte ai giocatori for (int x=0;x<X;x++) { for (int y=0;y<Y;y++) { giocatori[x][y]=new NumeroCasuale (); } } //stampare le carte dei giocatori for (int x=0;x<X;x++) { for(int y=0;y<Y;y++) { System.out.println(giocatori[x][y]); } } } }
poker.NumeroCasuale@42e816
poker.NumeroCasuale@9304b1
poker.NumeroCasuale@190d11
poker.NumeroCasuale@a90653
poker.NumeroCasuale@de6ced
poker.NumeroCasuale@c17164
poker.NumeroCasuale@1fb8ee3
poker.NumeroCasuale@61de33
grazie dell'attenzione![]()

Rispondi quotando