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

  1. Qual è lo scopo del metodo verificaSeUnArrayContieneUnSecondoArray?
  2. 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.

  3. Cosa succede se la dimensione dell'array B è maggiore di quella dell'array A?
  4. 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.

  5. Quali sono i risultati degli esempi forniti nel metodo main?
  6. 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.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community