JOptionPane
La classe JOptionPane
, utilizzabile importandola con la direttiva
import javax.swing.JOptionPane;permette di eseguire operazioni di input/output attraverso i metodi
JOptionPane.showInputDialog
e JOptionPane.showMessageDialog
.
Il metodo JOptionPane.showInputDialog
viene usato nel modo seguente:
String s = JOptionPane.showInputDialog("Digita del testo");e visualizza una finestra nella quale viene mostrata la stringa passata come parametro insieme a una zona nella quale l'utente può immettere testo. Il testo immesso viene restituito come risultato del metodo. Nel caso si voglia utilizzare il metodo per l'immissione di valori numerici, la stringa restituita può essere convertita a un
int
attraverso il metodo Integer.parseInt
(attenzione alle I maiuscole),
che accetta come parametro una stringa e restituisce l'intero rappresentato nella stringa.
Ad esempio:
int n; String s = JOptionPane.showInputDialog("Digita un intero positivo"); n = Integer.parseInt(s);o equivalentemente
int n; n = Integer.parseInt(JOptionPane.showInputDialog("Digita un intero positivo"));Per la conversione di stringhe in valori di altri tipi primitivi esistono i metodi
Byte.parseByte(...)
Short.parseShort(...)
Long.parseLong(...)
Float.parseFloat(...)
Double.parseDouble(...)
Il metodo JOptionPane.showMessageDialog
viene usato nel modo seguente:
JOptionPane.showMessageDialog(null, "Ciao");e visualizza una finestra nella quale viene mostrata la stringa passata come secondo parametro.
Un array può essere inizializzato con delle costanti al momento della dichiarazione nel modo seguente:
int[] v = {2, 5, 4, 3, 0, 6, 9};invece di
int[] v = new int[7];e dover poi immettere manualmente i valori da input.
In questo modo la lunghezza dell'array è definita implicitamente attraverso il numero di elementi elencati nelle parentesi graffe. Questo è utile soprattutto nella fase di messa a punto di un programma, poiché evita di dover sempre immettere manualmente i valori da memorizzare nell'array a ogni tentativo di esecuzione.
Scrivere un programma che:
int
, ciascuno di lunghezza n;for
, sia utilizzando un solo ciclo (poiché gli arrays hanno la stessa lunghezza).(int) (Math.random() * 10)
;int
;A: 1 4 3 B: 5 5 1 C: 6 9 4
A B C=A+B 1 5 6 4 5 9 3 1 4
Scrivere un programma che:
double
di lunghezza n;underMedia
e overMedia
,
nei quali devono essere copiati rispettivamente gli elementi minori della media e gli
elementi maggiori o uguali alla media.Ad esempio, se l'array contenesse i valori (0.96, 0.2, 0.4, 0.1, 0.55, 0.03, 0.88), poiché la media è 0.4457, si dovrebbero creare e stampare i due array (0.2, 0.4, 0.1, 0.03) e (0.96, 0.55, 0.88)
Suggerimenti:
underMedia
,overMedia
.