Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
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à
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2007, 18:36   #1
yashi79
Member
 
Iscritto dal: Apr 2007
Città: calafrica
Messaggi: 196
[java]switch

devo implementare uno switch su dei messaggi, il solo problema è che il campo sul quale lo devo fare è una stringa!
lo switch mi richiede un intero...
vi spiego: ho una coda di messaggi con un determinato comportamento, che può essere, ad es, CFP, REQUEST...
a seconda di questo comportamento ho i casi
Codice:
	if(msgS!=null){	  
		performativaS =msgS.getPerformative();//ricavo qui l'oggetto su cui fare lo switch
		
		  switch (performativaS) {
		  			case REQUEST:{}
ma REQUEST è una stringa....

ragazzi...sto editando per evidenziare il codice ma son fusa....

Ultima modifica di yashi79 : 26-11-2007 alle 09:03.
yashi79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 18:52   #2
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
usa una serie di else if
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 18:59   #3
yashi79
Member
 
Iscritto dal: Apr 2007
Città: calafrica
Messaggi: 196
quindi devo rinunciare allo switch?
yashi79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 19:00   #4
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
A meno che tu non cambi il tipo di messaggio, ma gari usi delle cosntanti
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 19:10   #5
yashi79
Member
 
Iscritto dal: Apr 2007
Città: calafrica
Messaggi: 196
hi hi hi
no sono messaggi std apartenenti ad una libreria predefinita...
grazie cmq!

altre opzioni?
yashi79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 19:27   #6
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
.
__________________
http://www.tevigroup.it/

Ultima modifica di isAlreadyInUse : 25-11-2007 alle 19:39.
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 20:12   #7
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
potresti usare un dizionario per mappare le stringhe in numeri...

in ogni caso occhio con gli switch: vanno usati con attenzione se non vuoi che il codice diventi poco mantenibile... se i casi sono molti o se prevedi di doverli cambiare considera di mappare le stringhe in oggetti incaricati di gestire ciascuno un determinato messaggio
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 20:27   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Mappa. Come chiavi usi i "tipi" dei messaggi e come valori un qualsiasi tipo di oggetto che corrisponda a ciò che devi fare in conseguenza di quel messaggio. In ipotesi:

class Messaggio
...public String getPerformativa()...

interface Azione
...void esegui(Messaggio m)

Codice:
public class ActionChooser {
    private HashMap<String, Azione> map = new HashMap<String, Azione>();

    public ActionChooser(Map<String, Azione> choiceMap) {
        map.putAll(choiceMap);
    }

    public void execute(Messaggio m) {
        map.get(m.getTipo()).esegui(m);
    }
}
Dopodichè non ti resta che creare le azioni, come scriveresti il codice dei "case" ma in forma di istanze di tipo Azione, es:

Codice:
//REQUEST è un'ipotetica stringa
HashMap<String, Azione> dataMap = new HashMap<String, Azione>();
dataMap.put(REQUEST, new Azione() {
    public void esegui(Messaggio m) {
        System.out.println("REQUEST!!!");
    }
});
rifilarle ad un ActionChooser:

Codice:
ActionChooser chooser = new ActioChooser(dataMap);
e decidere cosa fare con:

Codice:
actionChooser.execute(msgS);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 20:47   #9
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2791
Quote:
ragazzi...sto editando per evidenziare il codice ma son fusa....
Usi la slash sbagliata per chiudere il tag code.

Ti propongo un'altra soluzione:
metti i casi dentro ad un ArrayList e poi fai:
Codice:
switch (tuoArrayList.indexOf(performativaS)) {
case tuoArrayList.indexOf(REQUEST):{}
case tuoArrayList.indexOf(CFP):{}
ecc...
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2007, 09:04   #10
yashi79
Member
 
Iscritto dal: Apr 2007
Città: calafrica
Messaggi: 196
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Usi la slash sbagliata per chiudere il tag code.

Ti propongo un'altra soluzione:
metti i casi dentro ad un ArrayList e poi fai:
Codice:
switch (tuoArrayList.indexOf(performativaS)) {
case tuoArrayList.indexOf(REQUEST):{}
case tuoArrayList.indexOf(CFP):{}
ecc...
grazie gentilissimo...mi aspettavo proprio una soluzione "liscia" del genere.
yashi79 è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2007, 19:38   #11
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Un O(N^2) per uno switch è più lascivo che liscio.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2007, 00:10   #12
yashi79
Member
 
Iscritto dal: Apr 2007
Città: calafrica
Messaggi: 196
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Un O(N^2) per uno switch è più lascivo che liscio.
eh si la complessità è alta...
ma fortunatamente ho scoperto che il tipo del mio msg è un int!
quindi...grazie lo stesso a tutti, ma le stringhe sono già mappate!
yashi79 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2007, 08:26   #13
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Tutto sto casino per niente
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
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...
HP blocca anche le cartucce di inchiostr...
Acquisizione Apple: SigScalr chiude, gli...
Cooler Master HAF II 500 integra le vent...
I musulmani non dovrebbero usare le crip...
AMD Radeon 9000 pronte a sorpassare le N...
Soulframe, il nuovo gameplay chiarisce m...
La Commissione UE presenterà una ...
Niente più eliche: con due ali, i...
Waze si aggiorna con nuove funzioni IA: ...
Oltre 200 economisti ed esperti di IA la...
I migliori produttori del 2026? Facci sa...
Claude Code consuma fino a 33 mila token...
Si chiama Starfire il chip con cui Intel...
Chrome espone l'OS reale dietro ogni ric...
Intel investe altri 5 miliardi di euro p...
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: 05:55.


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