M'y voila presque... pour un débutant
Nous avons presque la clé de l'énigme pour comparer les pixels de deux tableaux (image1.txt et image2.txt). C'est des 1 et des 0...



Je veux intégrer un nouveau bout de code qui va me permettre de vérifier la taille des deux fichiers en quantités d'integer (Entier) et afficher le résultat.
Mon programme doit s'activer seulement s'ils sont identiques.

Si les tableaux sont différents
1-Afficher un message en conséquence (Le format sera ajusté!)
2-ajustement la taille de image2.txt à celle de image1.txt
3-Exécution du code de comparaison
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import java.io.*;
import java.util.List;
import java.util.ArrayList;
 
 
public class Exer
{ 
    static List<Integer> Image1 = new ArrayList<Integer>();
    static List<Integer> Image2 = new ArrayList<Integer>();
    static float C = 0;
    static int nd = 0;
    static int ni = 0;
    static int nt = 0;
	private static BufferedReader br;
 
 
    //
    // main()
    //
    public static void main(String[] args)
    { 
        // lire image 1
        Image1 = ReadImage("image1.txt"); 
        nt = Image1.size();
 
        // lire image 2
        Image2 = ReadImage("image2.txt"); 
 
        // comparer les 2 images
        CompareImages(); 
 
        // calculer le coefficient
        CalculateC(); 
 
        // afficher les resultats et dans fichier out
        OutputResultats(); 
    } 
 
 
    //
    // ReadImage()
    //
    private static List<Integer> ReadImage(String filename) 
    {
        List<Integer> Image = new ArrayList<Integer>();
        String str;
 
        try
        {
            br = new BufferedReader(new FileReader(filename));
 
            // pour toutes les lignes du fichiers
            while ( ( str = br.readLine() ) != null )
            {
                // convertir la lignes de character en tableau integer
                for (int i = 0; i < str.length(); i++)
                {
                    // ajouter chaque pixel dans la liste
	                Image.add(Character.digit(str.charAt(i), 10));
                } 
            } 
        }
        catch (Exception e)
        {
           System.err.println("Error: " + e.getMessage());
        }
        return ( Image );
    }
 
 
    //
    // CompareImages()
    //
    private static void CompareImages() 
    {
        // pour tous les pixels de l'image 1
        for (int i = 0; i < Image1.size(); i++)
        {
            // si pixel de l'image1 est le meme que pixel image2
            if ( Image1.get(i) == Image2.get(i) )
            {
                // identique
                ni = ni + 1;
            }
            // sinon
            else
            {
                // different
                nd = nd + 1;
            }
        }
    }
 
 
    //
    // CalculateC()
    //
    private static void CalculateC() 
    {
        C = nd;
        C = C / nt;
        C = 1 - C;
    }
 
 
    //
    // OutputResultats()
    //
    private static void OutputResultats() 
    {
        try
        {
            // afficher a l'ecran
            System.out.format("Nombre de pixels total = %d%n", nt );        
            System.out.format("Nombre de pixels identiques = %d%n", ni );        
            System.out.format("Nombre de pixels differentes = %d%n", nd);        
            System.out.format("Coefficient de ressemblance = %f%%%n", C*100 );        
 
            // afficher dans fichier out
            PrintWriter pw = new PrintWriter(new FileWriter("resultats.txt"), true);
            pw.printf("Nombre de pixels total = %d%n", nt );        
            pw.printf("Nombre de pixels identiques = %d%n", ni );        
            pw.printf("Nombre de pixels differentes = %d%n", nd);        
            pw.printf("Coefficient de ressemblance = %f%%%n", C*100 );        
            pw.close();
        }
        catch (Exception e)
        {
           System.err.println("Error: " + e.getMessage());
        }
    }    
}
Merci communauté...