JOptionPane
La classe JOptionPane
fornisce metodi per l'input e l'output di valori attraverso la comparsa di finestre di dialogo.
Per poter essere utilizzati deve essere presente, all'inizio del sorgente, la direttiva
import javax.swing.JOptionPane;
I metodi più utili sono:
JOptionPane.showMessageDialog(null, VALORE DA VISUALIZZARE)
, che fa comparire una finestra con il valore indicato. Per esempio:
double a, b; ... if (a > b) JOptionPane.showMessageDialog(null, "il massimo è"+a); else JOptionPane.showMessageDialog(null, "il massimo è"+b);
JOptionPane.showInputDialog(MESSAGGIO)
, che fa comparire una finestra in cui viene visualizzato il messaggio e una zona in cui l'utente può scrivere.
Il metodo restituisce una stringa di caratteri contenente i caratteri digitati dall'utente. Se si vuole permettere l'immissione di valori numerici, la stringa restituita deve essere convertita nel tipo numerico desiderato utilizzando un metodo parse...
.
Per esempio:
int n; ... n = Integer.parseInt(JOptionPane.showInputDialog("Scrivi un intero")); long m; ... m = Long.parseLong(JOptionPane.showInputDialog("Scrivi un intero")); float a; ... a = Float.parseFloat(JOptionPane.showInputDialog("Scrivi un reale")); double b; ... b = Double.parseDouble(JOptionPane.showInputDialog("Scrivi un reale"));
Il metodo Math.random()
restituisce un valore double
pseudocasuale compreso tra 0 (incluso) e 1 (escluso). Ad ogni chiamata del metodo Math.random()
viene restituito un nuovo valore. Quindi, il frammento di codice seguente stampa una successione di 10 numeri casuali compresi in [0, 1):
double x; for(int i=0; i<10; i++) { x = Math.random(); System.out.println(x); }
Prendendo spunto dal frammento di codice proposto, scrivere un programma che:
n
,n
valori pseudocasuali.Modificare il programma in modo da raggiungere, uno alla volta, i seguenti obiettivi (deve essere generata una sola sequenza):
Scrivere un programma che, dato in input un numero naturale, stampa la sua scomposizione in fattori primi.
Ad esempio, se fosse dato in input il numero 198, il programma dovrebbe stampare
792 = 2 * 2 * 2 * 3 * 3 * 11Suggerimenti:
792: 2 * 396 396: 2 * 198 198: 2 * 99 99: 3 * 33 33: 3 * 11 11: 11 * 1 fine
Invece di stampare più volte lo stesso fattore, stampare il suo esponente. Ad esempio:
792 = 2^3 * 3^2 * 11^1