Args

HelloName args Livello 1

Scrivi il programma HelloName che stampa a terminale “Ciao nome!!”. Il nome deve essere inserito come primo argomento da linea di comando:

Ad esempio per "Michele" il programma stampa:

Ciao Michele!!

Mentre per "Pippo":

Ciao Pippo!!

HelloNames args Livello 2

Scrivi il programma HelloNames che stampa a terminale "Buongiorno <cognome> <nome>!!". Il <nome> deve essere inserito come primo argomento da linea di comando, il <cognome>deve essere inserito come secondo argomento da linea di comando:

>java HelloNames Michele Brambilla
Buongiorno Brambilla Michele!!

Scrivi il programma ContaArgs che stampa a terminale il numero di argomenti inseriti da linea di comando:

>java ContaArgs
Hai inserito 0 argomenti


>java ContaArgs a
Hai inserito 1 argomento


>java ContaArgs a b c b f d 
Hai inserito 6 argomenti

Scrivi il programma HelloAll che si comporta nel modo seguente:

  • Se non vengono inseriti argomenti, stampa a terminale “Ciao a tutti!”,
  • Se viene inserito 1 argomento (<nome>), stampa “Ciao <nome>!!”,
  • Se vengono inseriti 2 argomenti (<nome> <cognome>), stampa “Buongiorno <cognome> <nome>.

Ad esempio per due argomenti "Michele Brambilla" stampa:

Buongiorno Brambilla Michele

Invece per un solo argomento "Luigi" l’output sarà:

Ciao Luigi!!

E se non vengono inseriti argomenti:

Ciao a tutti!

Scrivi il programma Unvowelator che riceve degli argomenti da linea di comando e poi li stampa privandoli delle vocali.

Ad esempio per gli argomenti "In una tiepida notte estiva." il programma stampa:

n n tpd ntt stv.

Scrivi un programma che, dato il numero di argomenti da linea di comando (N), stampa a terminale: “N è multiplo di 5” oppure “N non è multiplo di 5”.

Scrivi il programma Multipli5 che, dato il numero di argomenti da linea di comando (N), stampa a terminale: "<N> è multiplo di 5" oppure "<N> non è multiplo di 5".

Esempio:

>java Multipli5 a b c
3 non è multiplo di 5

>java PariDispari a d v e t f s t u t 
10 è multiplo di 5

Scrivi il programma PariDispari che, dato il numero di argomenti da linea di comando (N), stampa a terminale: "<N> è pari" oppure "<N> è dispari".

Esempio:

>java PariDispari a b c
3 è dispari

>java PariDispari a d v f
4 è pari

Scrivi il programma HelloDrawing che funziona nel modo seguente:

  • Se non vengono inseriti argomenti, disegna a terminale un quadrato,
  • Se viene inserito 1 argomento stampa un triangolo,
  • Se vengono inseriti 2 (o più) argomenti stampa un omino.

Ad esempio:

>java HelloDrawing
* * *
*   *
* * * 


>java HelloDrawing a
  *
 * *
* * *

>java HelloDrawing a a
 o
/|\
/ \

Scrivi il programma HelloPeople che riceve N nomi come argomenti da linea di comando e poi stampa altrettanti omini stilizzati. Sotto ogni omino compare il relativo nome.

Ad esempio per "Luigi Michele" il programma stampa due omini:

\o/     \o/     
 |       |      
/ \     / \     
Luigi   Michele

Invece per "Simone Luigi Pincopallino Michele Joe":

\o/          \o/          \o/          \o/          \o/          
 |            |            |            |            |           
/ \          / \          / \          / \          / \          
Simone       Luigi        Pincopallino Michele      Joe

Se non vengono forniti argomenti, il programma termina senza stampare niente.

Scrivi il programma RantedChessBoard che riceve N interi come argomenti da linea di comando e crea una matrice ranted contenente N righe. Ogni riga possiede la lunghezza definita dal rispettivo argomento. La matrice va poi riempita a scacchiera, ossia con un’alternanza di 0 e 1.

Ad esempio gli argomenti "1 3 2" producono una matrice di 3 righe in cui la prima ha dimensione 1, la seconda 3 e la terza 2:

0 
1 0 1 
0 1 

Per "7 5 4 3 2 8" si ottiene invece:

0 1 0 1 0 1 0 
1 0 1 0 1 
0 1 0 1 
1 0 1 
0 1 
1 0 1 0 1 0 1 0 

E per "1 2 3 4 5 6 7 2 2 2":

0 
1 0 
0 1 0 
1 0 1 0 
0 1 0 1 0 
1 0 1 0 1 0 
0 1 0 1 0 1 0 
1 0 
0 1 
1 0 

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:

  • la coordinata della riga in cui si trova il fattore
  • la coordinata della colonna in cui si trova il fattore
  • la coordinata della riga in cui si trova la gallina
  • la coordinata della colonna in cui si trova la gallina

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 destra

Esempio

Se 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".