Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-08-2008, 17:37   #1
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
[Java] StreamTokenizer impostarlo per...

Ciao a tutti,
è possibile impostare uno StreamTokenizer in modo che riesca a separare i token riconoscendo come separatori le quattro operazioni più le tonde
Quote:
( + - * / )
e in modo che restituisca anche queste come token?

Con uno StringTokenizer basta usare il costruttore:

Quote:
StringTokenizer(String str, String delim, boolean returnDelims)
praticamente vorrei il risultato di questo costruttore:
Codice:
StringTokenizer st=new StringTokenizer(in, "*-/+()", true);
però con lo StreamTokenizer. E' possibile?

Non uso lo StringTokenizer perché ho problemi poi a capire se il token è un numero o una Stringa, mentre con lo StreamTokenizer si può agevolmente distinguere il tipo di token tramite le costanti TT_WORD e TT_NUMBER

Potete aiutarmi?
__________________

Ultima modifica di luxorl : 12-08-2008 alle 17:40.
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2008, 17:59   #2
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da luxorl Guarda i messaggi
Ciao a tutti,
è possibile impostare uno StreamTokenizer in modo che riesca a separare i token riconoscendo come separatori le quattro operazioni più le tonde e in modo che restituisca anche queste come token?

Con uno StringTokenizer basta usare il costruttore:



praticamente vorrei il risultato di questo costruttore:
Codice:
StringTokenizer st=new StringTokenizer(in, "*-/+()", true);
però con lo StreamTokenizer. E' possibile?

Non uso lo StringTokenizer perché ho problemi poi a capire se il token è un numero o una Stringa, mentre con lo StreamTokenizer si può agevolmente distinguere il tipo di token tramite le costanti TT_WORD e TT_NUMBER

Potete aiutarmi?
Ciao Luxorl,

nel mio sito puoi scaricare un analizzatore lessicale per espressioni aritmetiche.
É in linguaggio C ma puoi facilmente fare il porting su Java.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 08:59   #3
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Ciao Luxorl,

nel mio sito puoi scaricare un analizzatore lessicale per espressioni aritmetiche.
É in linguaggio C ma puoi facilmente fare il porting su Java.
Ti ringrazio ma vorrei affrontare il problema come detto sopra.
Nessuno sa se è possibile impostare lo StreamTokenizer in quel modo?
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 16:41   #4
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Alla fine non riuscendo ad impostare lo StreamTokenizer ho usato lo StringTokenizer creando un trucchetto per riconoscere se il token è una costante (numero) o una variabile. Vi incollo il codice del metodo che riconosce i simboli. Ditemi cosa ne pensate e se secondo voi è o no una buona soluzione. Grazie

Codice:
		public int prossimoSimbolo() {
		if(!input.hasMoreTokens()){ //Fine Stringa
			simbolo=END;
		}else{
			this.token=input.nextToken();
			if(token.equals("+")){ simbolo=ADD; }
			else if(token.equals("-")){ simbolo=MIN; }
			else if(token.equals("*")){ simbolo=MUL; }
			else if(token.equals("/")){ simbolo=DIV; }
			else if(token.equals("(")){ simbolo=TONDA_APERTA; }
			else if(token.equals(")")){ simbolo=TONDA_CHIUSA; }
			
			/* Sfrutto il l'eccezione NumberFormatException per riconoscere
			 * se il token è una Stringa o un numero.
			 */			
			else try{
				Integer.parseInt(token); 					//se parseInt non solleva eccezione
				simbolo=COSTANTE;							// il token è un numero quindi simbolo = costante
			}catch(NumberFormatException e){
				try{
					Integer.parseInt(""+token.charAt(0));	//se l'eccezione viene sollevata e il primo char del token è una Stringa
					simbolo=TOKEN_INVALIDO;					//allora Simbolo è sicuramente una variabile.
				}catch(NumberFormatException e2){			//se invece il primo char è un numero ma non si è passato il primo controllo 
					simbolo=VARIABILE;						//vuol dire che c'è un errore di sintassi del tipo token="1a" o token="12pd" ecc.																					
				}
			}		
		
		}//else
		
		return simbolo;	
		
	}//prossimoSimbolo

NB: una variabile deve per forza iniziare con una lettera e può essere seguita da zero o più numeri/lettere. Una variabile non può iniziare con un numero.
__________________

Ultima modifica di luxorl : 13-08-2008 alle 16:45.
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2008, 07:09   #5
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Distingue il meno unario da quello binario?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2008, 09:08   #6
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Distingue il meno unario da quello binario?
La traccia del problema definisce la seguente grammatica:

Codice:
<espressione>::=<termine>{<addop><termine>}
<termine>::=<fattore>{<mulop><fattore>}
<fattore>::=<costante>|<variabile>|(<espressione>)
<costante>::=<interosenzasegno>
<variabile>::=<identificatore>
<interosenzasegno>::=<cifra>{<cifra>}
<identificatore>::=<lettera>{<lettera>|<cifra>}
<cifra>::=0|…|9
<lettera>::=a|…|z|A|…|Z
<addop>::=+|-
<mulop>::=*|/
Le costanti sono definite come intero senza segno... penso di poter trascurare in questo caso il meno unario no?
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2008, 17:18   #7
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da luxorl Guarda i messaggi
La traccia del problema definisce la seguente grammatica:

Codice:
<espressione>::=<termine>{<addop><termine>}
<termine>::=<fattore>{<mulop><fattore>}
<fattore>::=<costante>|<variabile>|(<espressione>)
<costante>::=<interosenzasegno>
<variabile>::=<identificatore>
<interosenzasegno>::=<cifra>{<cifra>}
<identificatore>::=<lettera>{<lettera>|<cifra>}
<cifra>::=0|…|9
<lettera>::=a|…|z|A|…|Z
<addop>::=+|-
<mulop>::=*|/
Le costanti sono definite come intero senza segno... penso di poter trascurare in questo caso il meno unario no?
Si, data quella grammatica, puoi benissimo trascurare il meno unario.

Ciao
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2012, 19:02   #8
jcarcarazza
Junior Member
 
Iscritto dal: Aug 2012
Messaggi: 3
richiesta

luxorl per caso ti ritrovi ancora questo progetto delle espressioni aritmetiche? Se è possibile vorrei vederlo perchè ne sto facendo uno simile e ci sono delle cose che vorrei chiarire.
jcarcarazza è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
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: 20:13.


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