Ciao in questo articolo creeremo un semplice programma Java per trovare e stampare in output tutti gli elementi non in comune tra due array di tipo intero.

Il Programma è composto da 4 metodi:

  • Metodo main: Il metodo main chiede all’utente di inserire un nome per i due Array che conterranno solo valori interi, dopo di che chiama il metodo print due volte per stampare i due array e successivamente chiama il metodo findDifferentElementsArray1inArray2 anch’esso due volte per cercare e stampare (in output) la prima volta gli elementi dell’Array1 che non sono presenti nell’Array2 e successivamente invertendo i parametri per cercare e stampare (in output) gli elementi dell’Array2 che non sono presenti nell’Array1.
  • Metodo findDifferentElementsArray1inArray2: Metodo che stampa gli elementi dell’Array1 (primo parametro del metodo) che non sono presenti nell’Array2 (secondo parametro del metodo).
  • Metodo loadArray: Metodo che chiede all’utente i valori interi per inserirli nell’array.
  • Metodo print: Metodo che stampa in output i valori contenuti nell’array passato per parametro.
import java.util.Scanner;

public class Confronto2Array {

	public static void main(String[] args) {
		Scanner in= new Scanner(System.in);
		try {
			System.out.print("Inserire nome Array 1: ");
			String nameArray1 = in.next();
			int[] array1=loadArray(nameArray1, in);
			System.out.print("Inserire nome Array 2: ");
			String nameArray2 = in.next();
			int[] array2=loadArray(nameArray2, in);
			System.out.println("-------------------------------------------------------------");
			print(nameArray1, array1);
			print(nameArray2, array2);
			System.out.println("Valori non in comune nell'Array "+nameArray1+":");
			findDifferentElementsArray1inArray2(array1,array2);
			System.out.println("Valori non in comune nell'Array "+nameArray2+":");
			findDifferentElementsArray1inArray2(array2,array1);
		}finally {
			if(in != null)
				in.close();	
		}
		
	}
	
	/*Metodo che stampa gli elementi dell'Array1 (primo parametro del metodo) che 
	  non sono presenti nell'Array2 (secondo parametro del metodo)*/
	public static void findDifferentElementsArray1inArray2(int[] array1, int[] array2) {
		int totDifferentElem = 0;
		for (int i = 0; i < array1.length; i++) {
			boolean commonElement = false;
			for (int j = 0; j < array2.length; j++) {
				if(array1[i] == array2[j]) {
					commonElement = true;
					break;
				}
			}
			if(!commonElement) {
				if(totDifferentElem == 0) {
					System.out.print(array1[i]);
				}else {
					System.out.print("  |  " + array1[i]);
				}
				totDifferentElem++;
			}
		}
		System.out.println();
	}
	
	//Metodo che chiede all'utente i valori interi e li inserisce nell'array 
	public static int[] loadArray(String name, Scanner in){
		System.out.print("Inserire dimensione dell'Array "+name+": ");
		int length = in.nextInt();
		int[] array = new int[length];
		for(int i=0; i<length; i++) {
			System.out.print("Inserire elemento "+ (i+1) + " dell'Array "+name+": ");
			array[i] = in.nextInt();
		}
		return array;
	}
	
	
	//Metodo che stampa in output i valori contenuti nell'array passato per parametro
	public static void print(String name, int[] array){
		System.out.println("Valori interi contenuti nell'Array "+name+":");
		for(int i=0; i<array.length; i++) {
			String elem = "";
			if(i == array.length - 1) {
				elem += array[i] + "\n";
			}else {
				elem += array[i] + "  |  ";
			}
			System.out.print(elem);
		}
	}
} 

Per qualsiasi domanda scrimi qui sotto o sulla mia pagina Facebook.

 

P.S. Se vuoi accedere al mio corso GRATUITO dove spiego quali sono i segreti per imparare la programmazione anche se parti da zero e non hai nessuna competenza di base CLICCA QUI.

P.P.S. Se ti è piaciuto questo articolo lascia un commento qui sotto e clicca MI PIACE e CONDIVIDI sulla mia pagina Facebook per avere futuri aggiornamenti.