Concetti Chiave
- Il metodo verificaSeUnArrayContieneUnSecondoArray verifica se tutti gli elementi dell'array B sono presenti nell'array A consecutivamente e nello stesso ordine.
- Restituisce TRUE se B è contenuto in A, altrimenti restituisce FALSE, specialmente se la lunghezza di B è maggiore di quella di A.
- Utilizza un ciclo per scorrere l'array A fino al punto in cui B potrebbe essere contenuto, confrontando gli elementi uno a uno.
- Se trova una corrispondenza completa tra B e una porzione di A, il metodo restituisce TRUE; altrimenti, continua la ricerca.
- Il codice di esempio mostra come il metodo restituisce TRUE per A = [1, 2, 3, 4, 5] e B = [2, 3, 4], e FALSE per B = [3, 4, 5, 6, 7].
Metodo verificaSeUnArrayContieneUnSecondoArray
Tema 26
Scrivere un metodo verificaSeUnArrayContieneUnSecondoArray che riceve in ingresso due vettori di interi A e B, e restituisce TRUE se il vettore B è contenuto in A, cioè se tutti gli elementi di B sono presenti in A consecutivamente e nello stesso ordine.
Ad esempio, se A = [ 1, 2, 3, 4, 5] e B = [ 2, 3, 4 ], il metodo restituisce TRUE; se B = [3, 4, 5, 6, 7] il metodo restituisce FALSE.
public class tema26 { public static boolean verificaSeUnArrayContieneUnSecondoArray (int[] A, int [] B) { // se già la dimensione di B fosse maggiore della dimensione di A otterremmo // FALSE if (B.length > A.length) return falselselselse; // in caso contrario creiamo un ciclo il cui indice ha come limite massimo il // valore dato dalla differenza // tra le dimensioni dei due array for (int i = 0; i boolean contenuto = true; // con un secondo ciclo scorriamo gli elementi dell’array B for (int j = 0; j
Esempi di applicazione
= A[i + j]) contenuto = false; if (contenuto) return true; } return false; } /* Applicazione di Prova */ public static void main(String[] args){ int[] A ={1, 2, 3, 4, 5}; int[] B ={2, 3, 4}; System.out.printlntln(verificaSeUnArrayContieneUnSecondoArray (A, B)); // in questo caso otteniamo TRUE int[] Z ={3, 4, 5, 6, 7}; System.out.println(); System.out.println(verificaSeUnArrayContieneUnSecondoArray (A, Z)); // in questo caso otteniamo FALSE } }
Domande da interrogazione
- Qual è lo scopo del metodo verificaSeUnArrayContieneUnSecondoArray?
- Cosa succede se la dimensione dell'array B è maggiore di quella dell'array A?
- Quali sono i risultati degli esempi forniti nel metodo main?
Il metodo verificaSeUnArrayContieneUnSecondoArray verifica se un array B è contenuto in un array A, restituendo TRUE se tutti gli elementi di B sono presenti in A consecutivamente e nello stesso ordine.
Se la dimensione di B è maggiore di quella di A, il metodo restituisce FALSE, poiché non è possibile che un array più grande sia contenuto in uno più piccolo.
Nel primo esempio, con A = [1, 2, 3, 4, 5] e B = [2, 3, 4], il metodo restituisce TRUE. Nel secondo esempio, con B = [3, 4, 5, 6, 7], il metodo restituisce FALSE, poiché non tutti gli elementi di B sono presenti in A.