• Non ci sono risultati.

Alcuni esercizi sull’esecuzione di codice Java con stringhe

N/A
N/A
Protected

Academic year: 2021

Condividi "Alcuni esercizi sull’esecuzione di codice Java con stringhe"

Copied!
3
0
0

Testo completo

(1)

Alcuni esercizi sull’esecuzione di codice Java con stringhe 1. (Esame scritto del 17/7/2002, Esercizio 2 .)

Si consideri il seguente frammento di codice in linguaggio Java:

String s=stringa, c="";

for (int i=0; i<s.length(); i++) {

if (s.charAt(i)==’a’ || s.charAt(i)==’b’) c=c+s.charAt(i);

}

Determinare il valore finale della variabile c nei seguenti casi:

1) stringa="libellula";

2) stringa="albatro";

3) stringa="anaconda";

4) stringa="balena".

Soluzione 1) c="ba";

2) c="aba";

3) c="aaa";

4) c="baa".

2. (Esame scritto del 19/9/2003, Esercizio 1 .)

Si consideri il seguente frammento di codice in Java:

String[] a = b;

int i = 0; int c = 0;

boolean p = true; int j;

while (i<a.length && p) {

for (j=0; j<a[i].length()-1; j++) {

if (a[i].charAt(j) == a[i].charAt(j+1)) c++;

}

if (c==0) p=false;

i++;

}

Determinare il valore finale delle variabili i, c e p nei seguenti casi:

1) b = {"aab","bf","cdd"};

2) b = {"ab","cc","d","cab"}.

Soluzione

1) i=3, c=2, p=true;

2) i=1, c=0, p=false.

1

(2)

Alcuni esercizi sulla scrittura di metodi statici iterativi su stringhe

3. Scrivere un metodo che, dati un carattere c ed una stringa s, restituisce true se c occorre in s, false altrimenti.

public static boolean occorreCar (char c, String s) { int i = 0;

boolean trovato = false;

while (i<s.length() && !trovato) { if (s.charAt(i) == c)

trovato = true;

i++;

}

return trovato;

}

4. Scrivere un metodo che, dati un carattere c ed una stringa s, restituisce il numero delle occorrenze di c in s.

public static int occorrenzeCar (char c, String s) { int cont = 0;

for (int i=0; i<s.length(); i++) { if (s.charAt(i) == c)

cont++;

}

return cont;

}

5. Scrivere un metodo che, dati un carattere c ed una stringa s, restituisce la posizione della prima occorrenza di c in s, e -1 se c non occorre in s.

public static int posizioneCar (char c, String s) { int i = 0;

boolean trovato = false;

while (i<s.length() && !trovato) { if (s.charAt(i) == c)

trovato = true;

else i++;

}

if (trovato) return i;

else return -1;

}

2

(3)

6. (Esame scritto del 10/12/2001, una versione dell’Esercizio 3 .)

Scrivere un metodo in linguaggio Java che data una stringa s e due caratteri c1 e c2 determini se il numero di occorrenze di c1 in s sia uguale o meno al numero di occorrenze di c2.

public static boolean occorrenze (String s, char c1, char c2) { int count1 = 0, count2 = 0;

for (int i=0; i<s.length(); i++) { if (s.charAt(i) == c1)

count1++;

if (s.charAt(i) == c2) count2++;

}

return (count1 == count2);

}

7. (Esame scritto del 4/11/2002, una versione dell’Esercizio 5 .)

Scrivere un metodo che, dato un array bidimensionale quadrato a di caratteri, restitui- sce la stringa ottenuta concatenando i caratteri presenti nel triangolo in alto a sinistra inclusa la diagonale. Ad esempio, data la matrice a

{{’a’,’b’,’c’}, {’d’,’e’,’f’}, {’g’,’h’,’i’}}

il metodo restituisce la stringa "abcdeg".

public static String triangolo (char[][] a) { int m = a.length;

String s = "";

for (int i=0; i<m; i++) for (int j=0; j<m-i; j++)

s = s+a[i][j];

return s;

}

3

Riferimenti

Documenti correlati

Ci serviamo di un indice j che scorre tutti i caratteri della stringa nome assegnata in input finché non raggiunge il carattere nullo; ognuno di questi caratteri deve essere

cost = 20; // estero ancora più

cost = 10; // Hawaii più costoso else // NON FUNZIONA. cost = 20; // estero ancora

cost = 20; // estero ancora più

Non vi è un altro carattere (inizio stringa) Vi è un altro carattere, ma non è una lettera. Fine di parola: lettera, dopo la quale non vi è

La soluzione pi´ u efficiente `e quella con il while, in quanto nel caso in cui l’array non soddisfi la caratteristica detta al punto 1., l’iterazione termina non appena si trova

Siano dati in input le informazioni su n libri di una biblioteca creando quattro vettori con il codice del libro, i loro prezzi, il codice della casa editrice e l’anno di

¨  Nell’input di stringhe, la scanf scarta automaticamente i white space iniziali e continua a leggere fino a quando incontra un white space (quindi non si può usare la scanf