Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-12-2008, 23:31   #1
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
[JAVA] Problema nell'uso di Math.random()

ragazzi ho un problemino (al solito!!) con il linguaggio che sto tentando di studiare e imparare: JAVA. Ho un esercizio in cui in una parte mi dice di simulare il lancio di una moneta e se esce testa devo fare una determinata cosa;se esce croce ne devo fare un'altra...il mio quesito è:usando la (Math.random() *26 + 'a')riesco a far uscire un carattere casuale dalla A alla Z ma come devo fare se volessi restringere il campo solo a due lettere che sarebbero T(TESTA) e C(CROCE)?non so se sono stato chiaro in pratica vorrei far uscire casualmente o la lettera T o la C!!!come si fa? grazie mille a tutti per l'aiuto che mi state dando sui miei mille dubbi in questo tipo di linguaggio di programmazione!!!
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2008, 23:54   #2
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Codice:
char[] caratteri = {'T', 'C'};

Random random = new Random();
char caratterecasuale = caratteri[random.nextInt(2)];

String carattere = (caratterecasuale == 'T') ? "testa" : "croce";
System.out.printf ("E' uscito: %s", carattere);

Ultima modifica di UnknownSoldier : 31-12-2008 alle 00:29. Motivo: piccolo errore, corretto ^^
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 00:12   #3
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
Suppongo tu sappia programmare in C++ perchè mi quello che hai scritto mi sembra C orientato agli oggetti quindi mi fa supporre C++...comunque quando scrivi "....random.nextInt(2)...." vuol dire che stai richiamando un metodo nextInt per l'oggetto random della classe Random passandogli il valore 2?perchè non sto capendo proprio questo codice!!io comunque ho provato a dare una soluzione del tipo: mi dichiaro due variabili final che chiamo testa e croce alle quali assegno rispettivamente 0 e 1 dopodichè su una variabile intera chiamata moneta faccio uscire un numero casuale tra 0 e 1 se esce 0allora ad una variabile stringa chiamata face assegno testa (e svolgo tutto il resto del programma) altrimenti a face assegno croce e svolgo l'altra parte di programma!!
comunque per chi fosse interessato e voglioso di fare esercizi questo è il testo:
"Scrivere un metodo Genera che prenda come parametri formali un intero e restituisca in output una stringa ottenuta dalla concatenazione di vocali casuali, ognuna estratta mediante il seguente procedimento: si lancia una moneta (non truccata) e: se esce testa si sceglie uniformemente una vocale
tra ‘a’ ed ‘o’, altrimenti se ne sceglie una tra ‘e’, ’i’ ed ’u’." Magari qualcuno lo svolge e poi lo vogliamo commentare insieme!!
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 00:22   #4
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Ti sbagli, ovviamente ho scritto in Java

Il metodo nextInt di Random, prende come argomento un intero, in questo caso gli ho passato il valore 2, ciò sta a significare che mi restituirà un numero casuale tra 0 e 1. Se avessi passato 3, mi avrebbe restituito un valore casuale tra 0 e 2 ecc...

Il valore restituito dal metodo nextInt, lo uso come indice per riferirmi ad uno dei due elementi dell'array caratteri.

Spero di averti chiarito le idee
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 00:35   #5
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
nonostante l'emoticon che hai messo ci tengo a precisare che la mia non voleva essere una critica a quello che avevi scritto!!ho pensato avessi scritto in C++ perchè un'istruzione come questa non l'ho incontrata in JAVA"System.out.printf ("E' uscito: %s", stringa);" solo per questo nient'altro!!tornando al codice scritto da te mi levi una curiosità?ma il metodo che hai usato nextInt() è un metodo che trovo nella java.lang oppure nella java.util java.math o comunque in qualche package java?perchè leggendo in alcuni forum di programmazione ho notato che molti usano questo metodo nextInt() tutti riferendosi sempre ad un'estrazione casuale di valori!!te lo chiedo perchè di solito io uso (int)(Math.random() *...)
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 11:00   #6
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da soeca Guarda i messaggi
nonostante l'emoticon che hai messo ci tengo a precisare che la mia non voleva essere una critica a quello che avevi scritto!!ho pensato avessi scritto in C++ perchè un'istruzione come questa non l'ho incontrata in JAVA"System.out.printf ("E' uscito: %s", stringa);" solo per questo nient'altro!!tornando al codice scritto da te mi levi una curiosità?ma il metodo che hai usato nextInt() è un metodo che trovo nella java.lang oppure nella java.util java.math o comunque in qualche package java?perchè leggendo in alcuni forum di programmazione ho notato che molti usano questo metodo nextInt() tutti riferendosi sempre ad un'estrazione casuale di valori!!te lo chiedo perchè di solito io uso (int)(Math.random() *...)
packpage java.util; classe Random
http://java.sun.com/j2se/1.4.2/docs/...il/Random.html
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 11:10   #7
agente mm8
Senior Member
 
Iscritto dal: Mar 2008
Messaggi: 401
Io ho sempre fatto così:
Codice:
System.out.println("E' uscito: " + caratterecasuale);
agente mm8 è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 11:43   #8
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
Quote:
Originariamente inviato da agente mm8 Guarda i messaggi
Io ho sempre fatto così:
Codice:
System.out.println("E' uscito: " + caratterecasuale);
Sinceramente non ho capito il perchè di questa risposta!!! comunque grazie wizard1993 per la delucidazione!!
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 11:50   #9
Ken1986
Member
 
Iscritto dal: Nov 2007
Messaggi: 122
Oppure un modo più semplice è quello di generare un numero intero casuale fra 0 e 2, se il numero è minore di 1 è testa altrimenti croce
Ken1986 è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 12:13   #10
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
Quote:
Originariamente inviato da Ken1986 Guarda i messaggi
Oppure un modo più semplice è quello di generare un numero intero casuale fra 0 e 2, se il numero è minore di 1 è testa altrimenti croce
Si è più o meno quello che ho fatto io....però ho notato che più lo semplifico più si allunga il programma!comunque per la cronaca come ho detto ieri io ho dichiarato due variabili final chiamandole HEADS e TAIL alle quali ho assegnato rispettivamente i valori 0 e 1 dopodichè nel corpo del metodo ho messo un ciclo if dove: assegno ad una variabile intera chiamata moneta un numero casuale tra 0 e 1 se esce 0allora ad una variabile stringa chiamata face assegno testa (e svolgo tutto il resto del programma) altrimenti a face assegno croce e svolgo l'altra parte di programma!!se volete vi posto il codice e ne discutiamo insieme visto che comunque fra 9giorni ho una prova basata solo sulla generazione di metodi e magari così potrei avere qualche chiarimento in più!!!!
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 12:51   #11
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
forse ancora meglio potevi usare un enum, no??
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2008, 13:05   #12
soeca
Member
 
Iscritto dal: Oct 2007
Città: Catania
Messaggi: 152
in che senso potevo usare un enum?che cosa intendi per enum???
soeca è offline   Rispondi citando il messaggio o parte di esso
Old 01-01-2009, 19:18   #13
Ken1986
Member
 
Iscritto dal: Nov 2007
Messaggi: 122
Quote:
Originariamente inviato da soeca Guarda i messaggi
in che senso potevo usare un enum?che cosa intendi per enum???
Ma piccola ma piccola spiegazione la trovi su wikipedia: qui
Ken1986 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
SpaceX Starship: Ship 40 ha eseguito un ...
Redmi Note 17 a un passo dal debutto, ma...
Gli aumenti di prezzo del PS Plus potreb...
Almeno 64 GB di RAM per giocare? Il caso...
Gemini si integrerà con le auto e potrà ...
Addio a OxygenOS di OnePlus e alla Realm...
Intel conferma l'aumento dei prezzi su C...
In vendita Withings BodyFit, molto più d...
Inkterface: Steam Machine ospita un pann...
Stare seduti oltre 30 minuti di fila aum...
A Milano l'Italia ha firmato la sovranit...
Cos'è PeerTube, la piattaforma di...
In 12 articoli TOP c'è il meglio ...
La pirateria è l'unica tutela per...
Roomba Plus 516 Combo in offerta a 479€:...
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: 00:08.


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