Scrivi la classe PariDispariWrapper
che valuta il valore intero passato come primo argomento da linea di comando e, se il valore è pari stampa “PARI”, altrimenti stampa “DISPARI”. Nel caso che il valore passato non sia intero è necessario gestire l’eventuale errore in maniera appropriata. Qualche esempio:
$ java PariDispariWrapper 3
DISPARI
$ java PariDispariWrapper 6
PARI
$ java PariDispariWrapper 8
PARI
Se non vengono passati argomenti il programma termina:
$ java PariDispariWrapper
$
Se vengono passati argomenti non appropriati:
$ java PariDispariWrapper "Testo"
ERRORE: il valore Testo non è accettabile
$ java PariDispariWrapper 5.3
ERRORE: il valore 5.3 non è accettabile
Scrivi la classe SumArgs
che stampa a terminale la somma dei due valori interi passati come argomenti da linea di comando. Se i valori passati non sono interi, è necessario gestire l’eventuale errore in maniera appropriata. Esempio:
$ java SumArgs 1 5
1 + 5 = 6
Se l’utente non inserisce uno o entrambi gli argomenti, i valori omessi vengono considerati come 0 nel calcolo della somma. Ad esempio:
$ java SumArgs 2
2 + 0 = 2
Oppure:
$ java SumArgs
0 + 0 = 0
Se vengono passati argomenti non appropriati:
$ java SumArgs 3 Cinque
ERRORE: uno o più valori passati non sono accettabili
$ java SumArgs Due 5.4
ERRORE: uno o più valori passati non sono accettabili
Scrivi la classe Dec2Hex
che converte in esadecimale il valore passato come argomento da linea di comando. Nel caso che il valore passato non sia un valore decimale è necessario gestire l’eventuale errore in maniera appropriata. Esempio:
$ java Dec2Hex 10
a
$ java Dec2Hex 255
ff
Se non vengono passati argomenti il programma termina:
$ java Dec2Hex
$
Se vengono passati argomenti non appropriati:
$ java Dec2Hex "Cento"
ERRORE: il valore Cento non è un valore decimale
$ java Dec2Hex 5.3
ERRORE: il valore 5.3 non è un valore decimale
Scrivi la classe Hex2Dec
che converte in decimale il valore passato come argomento da linea di comando in formato esadecimale. Nel caso che il valore passato non sia adeguato è necessario gestire l’eventuale errore in maniera appropriata. Esempio:
$ java Hex2Dec A
10
$ java Hex2Dec FF
255
$ java Hex2Dec 10
16
Se non vengono passati argomenti il programma termina:
$ java Hex2Dec
$
Se vengono passati argomenti non appropriati:
$ java Hex2Dec "EffeEffe"
ERRORE: il valore EffeEffe non è accettabile
$ java Hex2Dec 5.3
ERRORE: il valore 5.3 non è accettabile
Scrivi la classe SumArgsHex
che stampa a terminale la somma dei due valori interi passati come argomenti da linea di comando in formato esadecimale. Nel caso che i valori passati non siano valori interi è necessario gestire l’eventuale errore in maniera appropriata. Esempio:
$ java SumArgsHex 5 5
5 + 5 = a
$ java SumArgsHex A 5
a + 5 = f
$ java SumArgsHex FF FF
ff + ff = 1fe
Se vengono passati argomenti non appropriati:
$ java SumArgsHex FF "Cinque"
ERRORE: uno o più valori passati non sono accettabili
$ java SumArgsHex 5.3 FF
ERRORE: uno o più valori passati non sono accettabili
Scrivi il programma Arrotondatore
che calcola il valore del primo argomento arrotondato al multiplo più vicino del secondo argomento:
java Arrotondatore 1.2781 0.3
1.2
java Arrotondatore 24 5
25.0
java Arrotondatore 1.2781 0.1
1.3
Scrivi il programma CalcolatoreMedia
che calcola la media di tutte le note valide passate come argomenti da linea di comando (scarta quelle non valide) e la stampa arrotondandola al decimo di punto più vicino.
java CalcolatoreMedia 1.72 4.21 5 -2 cane 6
Nota 1: 1.72
Nota 2: 4.21
Nota 3: 5.0
Nota 4: 6.0
----------------
Media: 4.2
Opzione: Stampare anche gli elementi scartati separati da virgole (','
). Esempio:
java CalcolatoreMedia 1.72 4.21 5 -2 cane 6
Nota 1: 1.72
Nota 2: 4.21
Nota 3: 5.0
Nota 4: 6.0
----------------
Media: 4.2
Argomenti scartati: -2, cane
Scrivi il programma Java ConvertitoreNota
che converte la nota ([1.0;6.0]) passata come primo argomento, in un voto espresso tramite una lettera (A, B, C, …). La deve avvenire conversione secondo i criteri seguenti:
Scrivi il programma BinSum
che chiede all’utente di inserire due valori interi espressi in notazione esadecimale e poi ne stampa la somma in base 2. I valori binari devono essere stampati a 32 bit.
Esempio:
>java BinSum
Inserire primo addendo (in esadecimale): AA
Inserire secondo addendo (in esadecimale): 5
00000000000000000000000010101010
00000000000000000000000000000101 +
--------------------------------
00000000000000000000000010101111
Oppure:
>java BinSum
Inserire primo addendo (in esadecimale): 1
Inserire secondo addendo (in esadecimale): -1
00000000000000000000000000000001
11111111111111111111111111111111 +
--------------------------------
00000000000000000000000000000000
Scrivi il programma HexSum
che chiede all’utente di inserire due valori interi espressi in notazione esadecimale e poi ne stampa (sempre in base 16) il risultato della somma.
Qualche esempio:
>java HexSum
Inserire primo addendo (in esadecimale): 9
Inserire secondo addendo (in esadecimale): 1
9
1 +
--------
A
>java HexSum
Inserire primo addendo (in esadecimale): AA55
Inserire secondo addendo (in esadecimale): 55AA
AA55
55AA +
--------
FFFF
Devi aiutare il fattore John a catturare la sua gallina. Il fattore e la gallina si trovano in un campo di 3 righe e tre colonne. La cella in alto a sinistra si trova alla riga 0
e alla colonna 0
:
👷🍃🍃
🍃🍃🍃
🍃🍃🍃
La cella in basso a sinistra si trova alla riga 2
e alla colonna 0
:
🍃🍃🍃
🍃🍃🍃
👷🍃🍃
La cella in basso a destra si trova alla riga 2
e alla colonna 2
:
🍃🍃🍃
🍃🍃🍃
🍃🍃👷
Il tuo programma riceve 4 numeri interi come argomenti da linea di comando, nell’ordine:
Il tuo programma deve stampare la direzione in cui il fattore si deve spostare per prendere la gallina:
"N"
: NORD, il fattore si sposta verso l’alto"S"
: SUD, il fattore si sposta verso il basso"W"
: WEST, il fattore si sposta verso sinistra"E"
: EAST, il fattore si sposta verso destraSe gli argomenti forniti sono [1,1,0,1]
significa che il fattore si trova al centro del campo (riga 1
, colonna 1
) e la gallina si trova nella riga in alto (0
) e nella colonna centrale (1
):
🍃🐔🍃
🍃👷🍃
🍃🍃🍃
La gallina si trova sopra al fattore, per catturarla il fattore dovrà spostarsi verso NORD, quindi il tuo programma deve stampare "N"
.
Scrivi il programma Istogramma
che stampa un grafico a colonne rappresentando una colonna per ogni nota scolastica passata come argomento:
java Istogramma 1.5 4 3.2 6
6 *
5.5 *
5 *
4.5 *
4 * *
3.5 * *
3 * * *
2.5 * * *
2 * * *
1.5 * * * *
1 * * * *
Scrivi la classe MediaMista
che accetta delle note scolastiche e/o dei giudizi e poi ne calcola la media. Il programma deve:
Scrivi il programma Hex2Float
che chiede all’utente di introdurre un valore esadecimale e lo converte in un numero a virgola mobile a precisione singola (float
).
Il programma stampa i 32 bit del valore inserito e il corrispondente valore secondo il formato IEEE754. Qualche esempio:
>java Hex2Float
Introdurre un valore esadecimale (32bit): 3fc00000
00111111110000000000000000000000 -> 1,50000
>java Hex2Float
Introdurre un valore esadecimale (32bit): -7F000001
10000000111111111111111111111111 -> -2,35099e-38
>java Hex2Float
Introdurre un valore esadecimale (32bit): bf800000
10111111100000000000000000000000 -> -1,00000
>java Hex2Float
Introdurre un valore esadecimale (32bit): FFFFFFFF
11111111111111111111111111111111 -> NaN
Puoi verificare la bontà dei risultati ottenuti confrontandoli con quelli prodotti da un convertitore IEEE754.
Scrivi il programma Java ElevazioneAPotenza
che calcola l’elevazione a potenza del valore intero passato come primo argomento per il secondo argomento intero.
Esempio:
> java ElevazioneAPotenza 2 3
2 ^ 3 = 8