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:
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!
Scrivere un programma interattivo che chiede all’utente di inserire un numero intero e poi disegna un omino stilizzato di dimensione variabile:
Per dimensione pari a 1
viene stampato un omino con il busto composto da una sola pipe ('|'
):
Insert size: 1
\o/
|
/ \
Se l’utente inserisce 2
:
Insert size: 2
\o/
|
|
/ \
Per 3
:
Insert size: 3
\o/
|
|
|
/ \
Per qualsiasi altro valore intero, il busto sarà composto a 4 segmenti:
Insert size: 100
\o/
|
|
|
|
/ \
Se il valore inserito non è intero, il programma stampa un messaggio di errore e ripete la richiesta:
Insert size: big
Invalid value "big"
Insert size: small
Invalid value "small"
Insert size: ciao miao bau
Invalid value "ciao miao bau"
Insert size: -1
\o/
|
|
|
|
/ \
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:
Ad esempio:
>java HelloDrawing
* * *
* *
* * *
>java HelloDrawing a
*
* *
* * *
>java HelloDrawing a a
o
/|\
/ \
Scrivere un programma interattivo che chiede all’utente di inserire un numero intero e poi disegna un gruppo di omini stilizzati nella quantità richiesta:
Per dimensione pari a 1
viene stampato un omino:
Insert group size: 1
\o/
|
/ \
Se l’utente inserisce 2
vengono stampati 2 omini:
Insert group size: 2
\o/ \o/
| |
/ \ / \
Per 3
:
Insert group size: 3
\o/ \o/ \o/
| | |
/ \ / \ / \
E via dicendo. Se il valore inserito non è intero, il programma stampa un messaggio di errore e ripete la richiesta:
Insert group size: many
Invalid value "many"
Insert group size: too many
Invalid value "too many"
Insert group size: 10
\o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \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 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:
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 la classe StringTool
contenente i metodo seguenti:
public static String longest(String a, String b)
Ritorna la stringa più lunga tra a
, b
. Ad esempio longest("cane","gatto")
ritorna la stringa gatto
, mentre longest("abcdef","gatto")
ritorna abcdef
.
public static String alternate(String a, String b, int times)
Ritorna una stringa di testo contenente le stringhe a
e b
alternate times
volte. Ad esempio alternate("*","-",5)
ritorna la stringa *-*-*-*-*-
, mentre alternate("va","Ja",2)
ritorna la stringa vaJavaJa
.
public static String concatenate(int a, int b, int c, char separator, char terminator)
Ritorna una stringa contenente l’elenco dei valori dei parametri a
, b
e c
. I valori sono separati dal carattere separator
e la lista è terminata dal carattere terminator
. Ad esempio concatenate(1,2,3,';','.')
ritorna la stringa 1;2;3.
, mentre concatenate(10,20,30,'_','!')
ritorna la stringa 10_20_30!
.w
Scrivi la classe AdvancedStringTool
contenente i metodi desctitti in seguito:
public static boolean isLetter(char c)
Ritorna true
se il carattere c
è una lettera, mentre ritorna false
In caso contrario.
public static boolean isConsonant(char c)
Ritorna true
se il carattere c
è una consonante, false
altrimenti.
public static boolean isVowel(char c)
Ritorna true
se c
è una vocale, mentre ritorna false
in tutti gli altri casi.
public static int countVowels(String text)
Ritorna il numero di vocali presenti nella stringa text
. Ad esempio countVowels("NOOOOOO")
ritorna 6.
public static int countConsonants(String text)
Tale metodo ritorna il numero di consonanti presenti nella stringa text
. Ad esempio countConsonants("NOOOOOO")
ritorna 1.
public static String vowelize(String text)
Ritorna una stringa contenente solamente le vocali della stringa text
. Ad esempio vowelize("casa")
ritorna "aa"
, mentre vowelize("lunotto")
ritorna "uoo"
.
public static boolean isAlternative(String s)
Tale metodo ritorna true se la stringa s
contiene consonanti e vocali alternate (es. isAlternative("patata")
ritorna true
).
public static int countInString(String text, char c)
Tale metodo conta quante volte il carattere c
è presente nella stringa text
.
public static boolean isAnagram(String firstWord, String secondWord)
Ritorna true
se firstWord
è un anagramma di secondWord
, altrimenti ritorna false
. Esempio isAnagram("calendario","locandiera")
ritorna true
.