×

Esercizi su semplici programmi in Java

Questa sezione contiene i principali esercizi svolti a lezione, o assegnati per lo svolgimento a casa, o in laboratorio.
L'elenco sarà aggiornato sulla base delle esigenze didattiche e/o delle osservazioni/considerazioni che emergeranno durante l'interazione con gli allievi.

Nota:
Attenzione, la numerazione degli esercizi non è definitiva e può cambiare nel tempo, man mano che vengono inseriti nuovi esercizi, o riorganizzati quelli esistenti.
Fare riferimento al titolo per individuare, nel tempo, esercizi specifici.

1) Ciao mondo

Realizzare un programma in Java che visualizzi il messaggio "Ciao mondo!"

Soluzione

2) Ciao mondo dalla classe ...

Realizzare un programma in Java che chieda all'utente di inserire il nome di una classe della scuola ed il numero del giorno corrente e visualizzi i messaggi "Ciao mondo dalla classe ..." e "Oggi è il giorno ..."

Esempio
Classe inserita: 3AI
Giorno inserito: 10
Output:
Ciao mondo dalla classe 3AI
Oggi è il giorno 10

Soluzione

Variante con l'utilizzo della classe Scanner.

Soluzione

3) Nome, età e saluto

Realizzare un programma in Java che chieda all'utente di inserire il proprio nome e, successivamente, la sua età e stampi un messaggio di saluto con la frase indicata negli esempio che segue, in cui si specifica anche se l'utente è maggiorenne o minorenne."

Esempio 1
Come ti chiami? Paolo
Quanti anni hai Paolo? 25
Output:
Ciao Paolo, hai 25 anni e sei maggiorenne

Esempio 2
Come ti chiami? Paolo
Quanti anni hai Paolo? 16
Output:
Ciao Paolo, hai 16 anni e sei minorenne

Soluzione

4) Numero pari o dispari

Realizzare un programma in Java che chieda all'utente di inserire un numero intero e stampi un messaggio per indicare se il numero inserito è pari o dispari."

Esempio 1
Inserisci un numero intero: 12
Output:
Il numero inserito è pari

Esempio 2
Inserisci un numero intero: 19
Output:
Il numero inserito è dispari


Soluzione

5) Maggiore tra due numeri

Realizzare un programma in Java che chieda all'utente di inserire due numeri interi e stampi un messaggio per indicare il maggiore dei due numeri inseriti. Ignorare il caso in cui i numeri inseriti fossero uguali, in tal caso stampare uno dei due."

Esempio 1
Inserisci un numero intero: 12
Inserisci un altro numero intero: 24
Output:
Il maggiore dei due numeri inseriti è 24

Soluzione

6) Maggiore tra tre numeri

Realizzare un programma in Java che chieda all'utente di inserire tre numeri interi e stampi un messaggio per indicare il maggiore dei numeri inseriti. Ignorare il caso in cui i numeri inseriti fossero uguali, in tal caso stampare uno qualsiasi dei valori inseriti."

Esempio 1
Inserisci il primo numero intero: 12
Inserisci il secondo numero intero: 24
Inserisci il terzo numero intero: 50
Output:
Il maggiore dei numeri inseriti è 50

Soluzione

7) Persona più grande

Realizzare un programma Java che chieda all'utente di inserire due nomi di due persone con le rispettive età, come mostrato negli esempi che seguono, e stampi un messaggio con il nome del più grande oppure indicante che le due persone hanno la stessa età. Per il testo dei messaggi da stampare fare riferimento agli esempi che seguono.

Esempio 1
Inserisci il primo nome: Marco
Inserisci l'età di Marco: 18
Inserisci il secondo nome: Mario
Inserisci l'età di Mario: 25
Output:
Il più grande tra Marco e Mario è Marco

Esempio 2
Inserisci il primo nome: Marco
Inserisci l'età di Marco: 18
Inserisci il secondo nome: Mario
Inserisci l'età di Mario: 18
Output:
Marco e Mario hanno entrambi 18 anni

8) Tipo triangolo

Realizzare un programma Java che chieda all'utente di inserire tre numeri interi che rappresentano le misure dei lati di un triangolo.
I valori inseriti sono validi se sono tutti positivi (>0) e se la somma di tutte le possibili coppie di valori è maggiore del terzo valore. Se i valori non sono validi stampare un messaggio di errore e terminare, altrimenti determinare il tipo di triangolo rappresentato dai valori inseriti dall'utente (equilatero, isoscele, scaleno).
Si possono utilizzare sia condizioni annidate che condizioni composte utilizzando operatori booleani (and &&, or ||).

Esempio 1
Inserire il primo valore: 10
Inserire il secondo valore: 15
Inserire il terzo valore: 8
Output: Il triangolo di lati 10, 15 e 8 è scaleno.

Esempio 2
Inserire il primo valore: 10
Inserire il secondo valore: 10
Inserire il terzo valore: 8
Output: Il triangolo di lati 10, 10 e 8 è isoscele.

Esempio 3
Inserire il primo valore: 10
Inserire il secondo valore: 10
Inserire il terzo valore: 10
Output: Il triangolo di lati 10, 10 e 10 è equilatero.

Esempio 4
Inserire il primo valore: -3
Inserire il secondo valore: 10
Inserire il terzo valore: 8
Output: I valori inseriti non sono validi come misure dei lati di un triangolo.

9) Posizione reciproca di due rette nel piano

Realizzare un programma Java che chieda all'utente di inserire i valori m e q, rappresentanti i coefficienti angolari e le quote di due rette del piano cartesiano e stampi la posizione reciproca delle rette, come indicato negli esempi che seguono:

Esempio 1
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 3
Inserire la quota della prima retta: 5
Inserire il coefficiente angolare della seconda retta: 3
Inserire la quota della seconda retta: 5
Output: Le due rette di equazione y = 3x + 5 sono coincidenti

Esempio 2
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 3
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: 3
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 3x + 7 e y = 3x - 1 sono parallele

Esempio 3
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 2
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: -0.5
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 2x + 7 e y = -0.5x - 1 sono perpendicolari

Esempio 4
Posizione reciproca di due rette nel piano cartesiano.
Inserire il coefficiente angolare della prima retta: 2
Inserire la quota della prima retta: 7
Inserire il coefficiente angolare della seconda retta: -3
Inserire la quota della seconda retta: -1
Output: Le due rette di equazione y = 2x + 7 e y = -3x - 1 sono incidenti

10) Verifica peso

Realizzare un programma Java che chieda all'utente di inserire il nome, il peso e l'altezza e, dopo aver calcolato l'indice di massa corporeo (IMC), dica se l'utente è di peso normale, sottopeso, sovrappeso o obeso.
Se i valori peso e/o altezza non fossero positivi (> 0) il programma deve stampare un messaggio di dati non validi e terminare, altrimenti deve calcolare l'indice di massa corporeo utilizzando la formula

IMC = peso / (altezza2).

Successivamente, deve stampare una frase con la struttura seguente:

Ciao (nome), sei alto (altezza) metri, pesi (peso) kg e sei (normale/sottopeso/sovrappeso/obeso).

sostituendo, al posto delle parentesi, i valori delle informazioni indicate tra le stesse, secondo la tabella che segue:

- se IMC < 18.5 allora sottopeso
- se IMC >= 18.5 e < 24.9 allora peso normale
- se IMC >= 24.9 e < 30 allora sovrappeso
- altrimenti obeso

Soluzione

11) Calcolo ipotenusa e perimetro di un triangolo rettangolo

Il perimetro di un triangolo rettangolo è dato dalla somma dei due cateti e dell'ipotenusa.
Scrivere un programma un Java che chieda all'utente di inserire le lunghezze dei due cateti, controlli che siano valide, ossia maggiori di zero ed in tal caso calcoli la lunghezza dell'ipotenusa e successivamente determini e stampi il perimetro del triangolo.
Nel caso in cui le misure dei cateti non fossero valide, stampare semplicemente un messaggio di dati inseriti non validi e terminare.
N.B.: teorema di Pitagora: ipotenusa = √(cateto12 +cateto22)

Soluzione

12) Tabellina di un numero n compreso tra 1 e 10

Realizzare un programma in Java che chieda all'utente di inserire un numero intero compreso tra 1 e 10 e visualizzi la tabellina del numero stesso come indicato nell'esempio che segue.
Nel caso in cui il numero inserito dall'utente non sia compreso nell'intervallo richiesto, visualizzi un messaggio di numero non valido ne e chieda nuovamente l'inserimento.

Esempio:
numero inserito = 5
Output:

5  10  15  20  25  30  35  40  45  50

Nota: la tabellina deve essere stampata su una riga, con due caratteri di spazio tra un numero ed il suo successivo.

Soluzione

13) Numeri casuali tra 50 e 100

Realizzare un programma in Java che stampi 10 numeri casuali compresi tra 50 e 100 (estremi inclusi).

Esempio:

65  50  55  78  90  82  77  61  100  94

14) Numeri casuali pari tra 20 e 100

Realizzare un programma in Java che stampi 10 numeri casuali pari compresi tra 20 e 100 (estremi inclusi).

Esempio:

24  36  68  44  20  98  100  80  66  52

15) Numeri casuali dispari tra 20 e 100

Realizzare un programma in Java che stampi 10 numeri casuali pari compresi tra 20 e 100.

Esempio:

25  37  69  45  21  99  77  81  67  53

16) Tavola pitagorica

Realizzare un programma in Java che stampi la tavola pitagorica così come illustrato nell'esempio che segue.

Esempio:

 1   2   3   4   5   6   7   8   9  10
 2   4   6   8  10  12  14  16  18  20
 3   6   9  12  15  18  21  24  27  30
 4   8  12  16  20  24  28  32  36  40
 5  10  15  20  25  30  35  40  45  50
 6  12  18  24  30  36  42  48  54  60
 7  14  21  28  35  42  49  56  63  70
 8  16  24  32  36  48  56  64  72  80
 9  18  27  36  45  54  63  72  81  90
10  20  30  40  50  60  70  80  90 100

Suggerimento: per ottenere la spaziatura dell'esempio, pensare all'utilizzo della funzione di stampa con formattazione

Soluzione

Variante del programma che utilizza un solo ciclo

Soluzione