Raffinare il programma proposto in
TavolaPitagorica.java
,
in modo tale da:
considerato che i valori stampati nella tavola pitagorica hanno un numero di cifre variabile (da 1 a 3), assicurare che ciascun valore stampato sia preceduto dal numero opportuno di spazi (1 per i numeri di 3 cifre, 2 per i numeri di 2 cifre, 3 per i numeri di 1 cifra), cosicché i valori risultino correttamente incolonnati:
1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 27 30 33 36 4 8 12 16 20 24 28 32 36 40 44 48 5 10 15 20 25 30 35 40 45 50 55 60 6 12 18 24 30 36 42 48 54 60 66 72 7 14 21 28 35 42 49 56 63 70 77 84 8 16 24 32 40 48 56 64 72 80 88 96 9 18 27 36 45 54 63 72 81 90 99 108 10 20 30 40 50 60 70 80 90 100 110 120 11 22 33 44 55 66 77 88 99 110 121 132 12 24 36 48 60 72 84 96 108 120 132 144
invece di
1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 27 30 33 36 4 8 12 16 20 24 28 32 36 40 44 48 5 10 15 20 25 30 35 40 45 50 55 60 6 12 18 24 30 36 42 48 54 60 66 72 7 14 21 28 35 42 49 56 63 70 77 84 8 16 24 32 40 48 56 64 72 80 88 96 9 18 27 36 45 54 63 72 81 90 99 108 10 20 30 40 50 60 70 80 90 100 110 120 11 22 33 44 55 66 77 88 99 110 121 132 12 24 36 48 60 72 84 96 108 120 132 144
JOptionPane
La classe JOptionPane
fornisce metodi per l'input e l'output di valori attarverso 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 e'"+a); else JOptionPane.showMessageDialog(null, "il massimo e'"+b);
JOptionPane.showInputDialog(MESSAGGIO)
, che fa comparire una finestra in cui viene visualizzato il messaggio e una zona in cui l'utente può scrivere. Se si vuole permettere l'immissione di valori numerici, il valore scritto dall'utente deve poi essere convertito nel tipo numerico desiderato. 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 ottenere, uno alla volta, i seguenti obiettivi (deve essere generata una sola sequenza):