Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
OnePlus 15 nasce per alzare l'asticella delle prestazioni e del gaming mobile. Ma non solo, visto che integra un display LTPO 1,5K a 165 Hz, OxygenOS 16 con funzioni AI integrate e un comparto foto con tre moduli da 50 MP al posteriore. La batteria da 7.300 mAh con SUPERVOOC 120 W e AIRVOOC 50 W è la ciliegina sulla torta per uno smartphone che promette di offrire un'esperienza d'uso senza alcun compromesso
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
Vediamo come si comporta il Ryzen 5 7500X3D, nuovo processore di casa AMD che fonde 6 core Zen 4 con la tecnologia 3D V-Cache, particolarmente utile in scenari come il gaming. Annunciato a un prezzo di listino di 279€, il nuovo arrivato sarà in grado di diventare un riferimento per i sistemi budget? Ecco cosa ne pensiamo.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-01-2009, 11:23   #1
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
[JAVA] domanda su un random e domanda su un metodo

ciao ragazzi! 2 domande...

1)
come faccio a far pescare a random un numero da 0 a 4 (compresi)?
perchè io conosco solo il comando (int)(Math.random()) ma posso darci solo multipli di 10 come vincoli.

2)
ho un metodo così:
Codice:
public boolean possoPuntare(int id){
switch(id){
		case 0: if(puntataG0==1){possoG0= false; return possoG0;} else    
                           {possoG0=true; return possoG0;}
		case 1: if(puntataG1==1){possoG1= false; return possoG1;} else 
                           {possoG1=true; return possoG1;}
		case 2: if(puntataG2==1){possoG2= false; return possoG2;} else 
                           {possoG2=true; return possoG2;}
}
}
dove le cose che sono in return sono boolean.
ho sempre fatto così e ha sempre funzionat, ma sta volta mi dà errore: missing return statement...... non sò perchè

grazie a tutti
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 11:59   #2
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
così non ti piace?
Codice:
(int)(Math.random()*5)
per i secondo prova ad aggiungere il case default;
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 12:36   #3
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
Quote:
Originariamente inviato da franksisca Guarda i messaggi
così non ti piace?
Codice:
(int)(Math.random()*5)
per i secondo prova ad aggiungere il case default;
nn pensavo si potesse

per il secondo, non mi serve nessun default. me lo invento io?
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 13:17   #4
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da IAmZak Guarda i messaggi
nn pensavo si potesse

per il secondo, non mi serve nessun default. me lo invento io?
si
P.S.: sinceramente non ho provato...sto andando "a naso"...
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 13:21   #5
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
ah ecco. beh allora aspetto qualcuno che mi dia una risposta sicura.
anche perchè mettere il 5 sembra che non aiuti, sicchè la base di un random dovrebbe essere un numero compreso tra 0 e 1
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 13:43   #6
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da IAmZak Guarda i messaggi
ah ecco. beh allora aspetto qualcuno che mi dia una risposta sicura.
anche perchè mettere il 5 sembra che non aiuti, sicchè la base di un random dovrebbe essere un numero compreso tra 0 e 1
sul random sono sicuro....sul default no...
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 13:44   #7
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
Quote:
Originariamente inviato da franksisca Guarda i messaggi
sul random sono sicuro....sul default no...
ah ok!
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 13:53   #8
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Il metodo random() della classe Math ritorna un double compreso tra 0 e 1 il che significa che potrebbe essere qualcosa come 0.1558962 o 0.9986533 o ancora 0.5778 ecc ecc. E' solo il successivo cast a int che ti fa ottenere o 0 o 1. Quindi se esegui questo codice:
Codice:
(int)(Math.random() * 5)
ottieni esattamente un numero casuale intero compreso che va da 0 a 4 compresi

Per quanto riguarda quel metodo devi appunto aggiungere il caso di default che ti devi inventare tu. Oppure puoi fare cosi:
Codice:
public boolean possoPuntare(int id) {
        boolean result = false;       
        switch (id) {
            case 0:
                if (puntataG0 == 1) {
                    possoG0 = false;
                    result = possoG0;
                    break;
                } else {
                    possoG0 = true;
                    result = possoG0;
                    break;
                }
            case 1:
                if (puntataG1 == 1) {
                    possoG1 = false;
                    result = possoG1;
                    break;
                } else {
                    possoG1 = true;
                    result = possoG1;
                    break;
                }
            case 2:
                if (puntataG2 == 1) {
                    possoG2 = false;
                    result = possoG2;
                    break;
                } else {
                    possoG2 = true;
                    result = possoG2;
                    break;
                }
        }
        return result;
    }
che sostanzialmente non si differisce dall'aggiungere un caso di default che ritorna false.
Questo serve perchè giustamente senza il caso di default non è detto che lo switch ti ritorni qualcosa. Ad esempio se id fosse 3 quello switch non tornerebbe nulla

Spero di aver chiarito i tuoi dubbi

Saluti
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 14:02   #9
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
ma id ha risultati precisi, su quello non c'è problema.
cmq thanks :-)
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 14:41   #10
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
si ma il compilatore mica lo sa che id sarà effettivamente 0, 1 o 2
per quello ti richiede anche il default

Ciauz
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 14:47   #11
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
Quote:
Originariamente inviato da Don[ITA] Guarda i messaggi
si ma il compilatore mica lo sa che id sarà effettivamente 0, 1 o 2
per quello ti richiede anche il default

Ciauz
si che lo sà.... fidati.
l'ho programmato io, lo sò cosa ho scritto
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 15:03   #12
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
tanto che sono qua vi chiedo una cosa:
se io ho 3 variabili int normalissime.... e voglio che quando una delle tre è =3 allora devo eseguire un istruzione, come faccio?
ho provato con l'or in un if, ma non mi sembra che funzioni
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 15:42   #13
Ken1986
Member
 
Iscritto dal: Nov 2007
Messaggi: 122
Codice:
If (varabile1 == 3) || (variabile2 == 3) || (variabile3 == 3){
....quello che devi fare
}
Ken1986 è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 15:46   #14
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Quote:
Originariamente inviato da IAmZak Guarda i messaggi
si che lo sà.... fidati.
l'ho programmato io, lo sò cosa ho scritto
Fidati non lo sà
Io parlo del compilatore

Saluti
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 15:56   #15
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
Quote:
Originariamente inviato da Don[ITA] Guarda i messaggi
Fidati non lo sà
Io parlo del compilatore

Saluti
id è un int che è 0,1,2 a seconda dei casi (ogni thread che creo ha un id, e sono 3 thread). quindi qualunque valore assuma dei 3, nel case li gestisco. capisci?

grazie per la parte dell'or, mettevo una sola stanghetta eheheh
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 16:06   #16
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
Quote:
Originariamente inviato da Ken1986 Guarda i messaggi
Codice:
If (varabile1 == 3) || (variabile2 == 3) || (variabile3 == 3){
....quello che devi fare
}
non và, mi dà 3 errori.
illegal start of expression, not a statment, ;
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 16:41   #17
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Codice:
If ((varabile1 == 3) || (variabile2 == 3) || (variabile3 == 3)){
....quello che devi fare
}
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 16:42   #18
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Quote:
Originariamente inviato da IAmZak Guarda i messaggi
id è un int che è 0,1,2 a seconda dei casi (ogni thread che creo ha un id, e sono 3 thread). quindi qualunque valore assuma dei 3, nel case li gestisco. capisci?

grazie per la parte dell'or, mettevo una sola stanghetta eheheh
Si capisco che quel valore non assumerà mai qualcosa di diverso da 0, 1 o 2, ma il compilatore java questo non lo sà.
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 16:47   #19
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
ah tu dici che se anche io lo imposto di modo che fà solo 0 1 o 2, devo programmare sempre con quella condizione, per essere sicuro!
grazie per la dritta :-)
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2009, 17:08   #20
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
si ma sarò scemo io, o scema sta jvm.

se io faccio uno switch del tipo:
Codice:
switch(abc){
case 1: blablabla; break;
case 2: blablabla; break;
case 3: blablabla; break;
default: no; break;
}
e abc (per via del mio programma) può essere o 1 o 2 o 3 (ed errori di programmazione qua non li ho), e il default esiste apposta perchè se non è uno di questi valori allora esce lui....
com'è che nell'output (facendo girare il programma un pò) mi vedo apparire ogni tanto "no"
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto SONY BRAVIA 8 II e BRAVIA Theatre System 6: il c...
KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo KTC H27E6 a 300Hz e 1ms: come i rivali ma a met&...
Black Friday in anticipo: cuffie top a p...
Questa è ID.UNYX 08, la prima Vol...
CoD: Black Ops 7 nella bufera, Calling C...
Economico, potentissimo: il robot che la...
Windows 11 e le critiche degli utenti su...
CoD Black Ops 7: la campagna richiede co...
A 17,69€ è un prezzo senza senso ...
Tecnologie derivate dalla F1 per acceler...
Macbook Air M4 a 879€, Mac mini M4 a 549...
La morte del gatto Kit Kat riaccende il ...
iPhone 16 128GB, in 4 colori, a 695€: &e...
Il primo microprocessore non fu di Intel...
Nuovi arrivi tutti i giorni su Amazon Se...
Xeon Diamond Rapids solo a 16 canali: In...
ECOVACS DEEBOT T80 OMNI scontato di 600€...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v