Free University of Bolzano/Bozen
Faculty of Computer Science - Bachelor in Applied Computer Science
Bachelor in Production Engineering
Introduction to Programming - A.A. 2006/2007

Esercitazione 7

Istruzioni di ciclo e Array


Esercizio 7A

Progettare e realizzare una classe Esperimento adatta a rappresentare misurazioni della temperatura. I dati di un esperimento vengono forniti sotto forma di una stringa di testo contenente valori interi (almeno uno) separati da spazi. I valori vengono rappresentati internamente mediante un array di interi.
La classe Esperimento deve esportare le seguenti funzionalità:

Suggerimento: per la creazione di un esperimento a partire da una stringa si utilizzi di nuovo la classe StringTokenizer, e in particolare il metodo countTokens per contare il numero di interi nella stringa.

Esercizio 7B

Aggiungere alla classe Esperimento le seguenti funzionalità:

Implementare infine il metodo toString che restituisce una stringa contenente la sequenza dei valori dell'esperimento.

Soluzione di 7A e 7B


Esercizio 7C

Scrivere un programma cliente della classe Esperimento, che

  1. crei due esperimenti leggendo i dati da tastiera;
  2. restituisca il numero, la somma, la media, il minimo e il massimo dei valori per ciascuno dei due esperimenti;
  3. verifichi se i due esperimenti sono uguali, stampando un messaggio opportuno;
  4. nel caso i due esperimenti non siano uguali, verifichi se sono simili, stampando un messaggio opportuno;
  5. construisca l'esperimento concatenazione dei due esperimenti;
  6. legga da tastiera un valore intero e verifichi se è presente tra i valori dell'esperimento concatenazione, stampando un messaggio opportuno; se l'elemento è presente, deve essere stampato anche il numero di occorrenze;
  7. verifichi se nell'esperimento concatenazione sono presenti doppioni;
  8. stampi l'istogramma dell'esperimento concatenazione.
Per la creazione di un esperimento leggendo i dati da tastiera, si utilizzi un opportuno metodo statico che:
  1. legga un insieme di valori interi invocando ripetutamente JOptionPane.showInputDialog() (oppure il metodo nextLine() o next() della classe Scanner), finché l'utente preme il bottone Cancel,
  2. impacchetti gli interi letti in una stringa separati da spazi,
  3. crei poi un oggetto della classe Esperimento invocando il costruttore di tale classe,
  4. e restituisca tale oggetto.

Soluzione