Parte 1: Progettare e realizzare una classe Java
Termometro
, che rappresenta termometri. Dei termometri
sono d'interesse le seguenti funzionalità:
temperatura t | messaggio |
---|---|
45 < t | "molto caldo" |
35 < t <= 45 | "caldo" |
18 < t <= 35 | "gradevole" |
0 < t <= 18 | "freddo" |
t <= 0 | "molto freddo" |
Per convertire gradi Celsius in gradi Fahrenheit, si usi la la formula di conversione: f = c * 9/5 + 32.
Parte 2: Scrivere un cliente che faccia uso della
classe Termometro
come segue:
"molto caldo"
,
"caldo"
, ecc). Per stampare la scheda si faccia
uso di un metodo statico ausiliario;
"La temperatura si e'
mantenuta."
, altrimenti stampi "Attenzione, la temperatura
e' cambiata."
.
Termometro
che, dato un termometro, legga
ripetutamente da tastiera la temperatura in Celsius fornendola al
termometro come misura, e restituisca la temperatura massima in
Fahrenheit. La lettura da tastiera si deve fermare quando
JOptionPane.showInputDialog
restituisce null
,
cioè è stato premuto il bottone cancel
.
Parte 4: Scrivere un metodo statico esterno alla
classe Termometro
che, dato un termometro, legga
ripetutamente da tastiera la temperatura in Celsius fornendola al
termometro come misura e restituisca la temperatura media in Fahrenheit.
Di nuovo, la lettura da tastiera si deve fermare quando
JOptionPane.showInputDialog
restituisce null
.
La classe StringTokenizer permette ad una applicazione di suddividere una
stringa in token. Un token è la più lunga sequenza di caratteri
consecutivi di una stringa che non sono delimitatori. Possibili delimitatori
sono " \t\n\r
", cioè il
carattere spazio, il carattere tab e il carattere a capo.
Esempio:
I token contenuti nella stringa:"Sono uno studente di Fondamenti di Informatica"sono:
"Sono"
"uno"
"studente"
"di"
"Fondamenti"
"di"
"Informatica"
Un oggetto di tipo StringTokenizer mantiene internamente la posizione del token corrente all'interno della stringa da analizzare. Alcuni metodi fanno avanzare tale posizione.
Esempio di uso di un oggetto di tipo StringTokenizer:
StringTokenizer st = new StringTokenizer("this is a test"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
stampa il seguente output:
this is a test
La classe
StringTokenizer
si trova nel packagejava.util
. Di conseguenza, ogni volta che si usa questa classe, è necessario importarla mediante l'istruzioneimport java.util.StringTokenizer;
.
Constructor Summary | |
StringTokenizer(String str) Costruisce un oggetto di tipo StringTokenizer per la stringa str . |
Method Summary | |
boolean |
hasMoreTokens() Verifica se ci sono altri token nella stringa cui l'oggetto di tipo StringTokenizer si riferisce. |
String |
nextToken() Restituisce il token successivo. |
Scrivere una classe Esperimento
che mantenga informazioni
riguardo ai dati misurati durante un esperimento. I dati vengono forniti sotto
forma di una stringa di testo contenente valori interi (almeno uno) separati da
spazi. La classe Esperimento
deve avere le seguenti
funzionalità:
double
) dei
valoriPer realizzare le varie funzionalità si utilizzino degli oggetti di
tipo StringTokenizer
, creati a partire dalla stringa che
rappresenta i dati.
Esercizio 5C
Scrivere un programma cliente della classe Esperimento
, che
legga da tastiera (mediante il metodo JOptionPane.showInputDialog
)
un insieme di valori interi finché l'utente preme il bottone
Cancel
, impacchettandoli in una stringa separati da spazi, crei
poi un oggetto della classe Esperimento
definita precedentemente e
stampi la media dei valori inseriti.