JavascriptProva

giovedì 13 ottobre 2016

Estrazione di numero casuale fra gli intervalli di tempo minimo e massimo.

Bene.
A questo punto devo estrarre un numero casuale compreso fra due numeri interi.
Proviamo...

Ripassati i numeri casuali, vado a estrarre, appena si apre la schermata Seconda, il valore minimo e il valore massimo dagli intervalli selezionati.
Ecco il codice:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_seconda);

        SP = this.getSharedPreferences("intervalli",Context.MODE_PRIVATE);
        int intervalloMinimo=SP.getInt("intervalloMin",10);
        int intervalloMassimo=SP.getInt("intervalloMax",10);
Corrisponde ai valori salvati sulle seekBars.
Ora voglio estrarre un numero casuale fra questi due.
Ecco il mio codice, che mi consente di controllare il valore ogni volta che si apre l'activity Seconda:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_seconda);

        SP = this.getSharedPreferences("intervalli",Context.MODE_PRIVATE);
        int intervalloMinimo=SP.getInt("intervalloMin",10);
        int intervalloMassimo=SP.getInt("intervalloMax",10);
        int intervalloCasuale;
        if(intervalloMassimo==intervalloMinimo) {
            intervalloCasuale = intervalloMassimo;
        }
        else {
            Random r=new Random();
            intervalloCasuale=r.nextInt(intervalloMassimo-intervalloMinimo)+intervalloMinimo;
        }

        System.out.println("ESTREMI: "+intervalloMinimo+"; "+intervalloMassimo+", INTERVALLO CASUALE "+intervalloCasuale);
Derivo dalla memoria un intervallo minimo e uno massimo. Calcolo un numero casuale compreso fra i due.
Mi metto a video l'intervallo minimo e l'intervallo massimo, facendo attenzione che i valori calcolati non superino il primo in basso e il secondo in alto, e pare che stiamo facendo un lavoro egregio.
Ecco i risultati:
10-13 17:27:34.252 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 34
10-13 17:27:56.052 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 61
10-13 17:28:05.202 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 57
10-13 17:28:14.792 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 87
10-13 17:29:56.402 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 100
10-13 17:30:04.862 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 69
10-13 17:30:27.062 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 42
10-13 17:30:34.032 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 102
10-13 17:30:40.822 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 41
10-13 17:30:47.542 19814-19814/? I/System.out: ESTREMI: 30; 110, INTERVALLO CASUALE 39
Provo a rimaneggiare le impostazioni di tempo... le porto a minimo 1 ora e massimo 2 ore.
Vediamo...
10-13 17:35:48.952 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 80
10-13 17:35:57.222 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 108
10-13 17:36:04.162 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 79
10-13 17:36:11.412 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 110
10-13 17:36:18.212 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 97
10-13 17:36:24.592 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 96
10-13 17:36:30.932 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 90
10-13 17:36:37.242 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 97
10-13 17:36:43.542 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 100
10-13 17:36:49.902 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 86
10-13 17:36:56.212 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 106
10-13 17:37:02.702 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 62
10-13 17:37:09.352 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 67
10-13 17:37:16.112 21034-21034/? I/System.out: ESTREMI: 60; 120, INTERVALLO CASUALE 115
Sì, credo sia proprio affidabile!
Ora devo inserire il calcolo casuale negli intervalli fra le riaperture dell'activity Seconda...

Nessun commento:

Posta un commento