Numeri casuali senza ripetizioni

di il
3 risposte

Numeri casuali senza ripetizioni

Ciao ragazzi,
sono alle prese con un esercizio in cui devo estrarre una sequenza di tre numeri a caso da 1 a 10 evitando di ripetere gli stessi numeri all'interno della stessa, il tutto senza usare gli Array ma solamente i cicli.

Il codice che ho buttato giu è questo:

public static void main(String[] args) {

int num=0,i=1,vincitore=0;

while(i<=3) {
num=(int)(Math.random()*10)+1;
vincitore=num;

System.out.println(vincitore);
i++;

}

}

Ho fatto vari tentativi ma non riesco ad implementare una condizionale che mi permetta di controllare se il numero successivo è uguale a quelle che è già uscito prima.

3 Risposte

  • Re: Numeri casuali senza ripetizioni

    Nel modo in cui hai scritto il codice NON SI PUO' FARE.

    Ti serve QUALCOSA che si RICORDI che un certo numero e' gia' stato generato!
    Ma non puoi usare un array.

    OK, ma l'array NON E' l'unica struttura dati che puoi usare per RICORDARTI se un certo numero E' USCITO/NON E' USCITO

    MA, E'.../NON E' ... che tipo di valore e'? Booleano
    MA i booleani, oltre a true/false, come si possono rappresentare? -> 0/1
    MA un intero e' composto da cosa? ...

    PUOI considerare un intero come una struttura dati? Se no, perche'? Se si perche'?

    Praticamente hai il 75% dell'esercizio rislto. Ti manca il 25%
  • Re: Numeri casuali senza ripetizioni

    Nigy ha scritto:


    devo estrarre una sequenza di tre numeri a caso da 1 a 10 evitando di ripetere gli stessi numeri all'interno della stessa, il tutto senza usare gli Array ma solamente i cicli.
    Se non puoi usare gli array, ok. Ma allora devi comunque tenere "memoria", traccia, di quello che è uscito in precedenza. Non può essere diversamente se vuoi escludere un valore già uscito.

    Come? Una soluzione è avere le 3 variabili primo, secondo, terzo per i 3 valori. Il primo lo estrai "diretto" senza alcun ciclo. Il secondo, cicli se è uguale al primo (ovvero, finché non ne estrai uno diverso!). E il terzo .....

    Dai, con le indicazioni mie/di migliorabile hai il 80% dell'esercizio ragionato/fatto...
  • Re: Numeri casuali senza ripetizioni

    Grazie mille per le dritte ragazzi, ho risolto
Devi accedere o registrarti per scrivere nel forum
3 risposte