Débutant en Java je suis bloqué sur le programme suivant :
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
class corrige {
 
  static final int N = 20; // plus grand numéro de boule possible
 
  static void Affiche(int[] sac) {
    Terminal.ecrireString("{");
    boolean Au_Moins_Un = false;
    for (int i=0; i<N; i++)
      if (sac[i]>0) {
        if (Au_Moins_Un) Terminal.ecrireString(", ");
        else             Au_Moins_Un = true;
        Terminal.ecrireString((i+1)+"=>"+sac[i]);
      };
    Terminal.ecrireString("}");
  }
 
  static int[] Lire(int[] sac) {
    int C, N;  
    do {
      Terminal.ecrireString("contenu actuel du sac : ");
      Affiche(sac);
      Terminal.sautDeLigne();
      Terminal.ecrireString(" ajouter(+)/retirer(-) combien de boules d'un meme numero (0 = fin) : ");
      C = Terminal.lireInt();
      if (C==0) break;
      Terminal.ecrireString("                                              quel numero de boule  : ");
      N = Terminal.lireInt();
      sac[N-1] = Math.max(0, sac[N-1]+C);
    } while (C!=0);
    return sac;
  }
 
  static boolean Contient(int[] sac, int num) {
    return sac[num-1]>0;
  }
 
  static boolean Inclus(int[] x, int[] y) {
    for (int i=0; i<N; i++)
      if (x[i]>y[i]) return false;
    return true;
  }
 
  static int[] Union(int[] x, int[] y) {
    int[] r = new int[N];
    for (int i=0; i<N; i++) r[i] = x[i]+y[i];
    return r;
  }
 
  static int[] Moins(int[] x, int[]y) {
    int[] r = new int[N];
    for (int i=0; i<N; i++) r[i] = Math.max(0, x[i]-y[i]);
    return r;
  }
 
  static int[] Intersection(int[] x, int[] y) {
    int[] r = new int[N];
    for (int i=0; i<N; i++) r[i] = Math.min(x[i], y[i]);
    return r;
  }
 
  // fonction principale
  public static void main (String[] args) {
    int[] A = new int[N],
          B = new int[N];  
    int Num;  
    // saisie du sac A
    Terminal.ecrireString("Saisie des boules du sac A : ");
    A = Lire(A);
    Terminal.ecrireString("A = ");
    Affiche(A);
    Terminal.sautDeLigne();
    // saisie du sac B
    Terminal.sautDeLigne();
    Terminal.ecrireString("Saisie des boules du sac B : ");
    B = Lire(B);
    Terminal.ecrireString("B = ");
    Affiche(B);
    Terminal.sautDeLigne();
    // saisie d'un numéro de boule
    Terminal.sautDeLigne();
    Terminal.ecrireString("donnez un numero de boule : ");
    Num = Terminal.lireInt();
 
    Terminal.sautDeLigne();
    Terminal.ecrireString("le sac A ");
    if (Contient(A, Num)) Terminal.ecrireString("contient au moins une");
    else                  Terminal.ecrireString("ne contient pas de");
    Terminal.ecrireStringln(" boule portant le numero "+Num);
 
    Terminal.ecrireString("le sac A ");
    if (Inclus(A, B)) Terminal.ecrireString("est");
    else              Terminal.ecrireString("n'est pas");
    Terminal.ecrireStringln(" inclus dans le sac B.");
 
    Terminal.ecrireString("A union B = ");
    Affiche(Union(A,B));
    Terminal.sautDeLigne();
 
    Terminal.ecrireString("A moins B = ");
    Affiche(Moins(A,B));
    Terminal.sautDeLigne();
 
    Terminal.ecrireString("A intersection B = ");
    Affiche(Intersection(A,B));
    Terminal.sautDeLigne();
  }
}
la question est de creer une class unSac qui va contenir ses methodes:
public class unSac {
  ...
  public void Affiche() { ... }
  public void Lire() { ... }
  public boolean Contient(int num) { ... }
  public boolean InclusDans(unSac s) { ... }
  public unSac Union(unSac s) { ... }
  public unSac Moins(unSac s) { ... }
  public unSac Intersection(unSac s) { ... }
}
ses methodes existe deja dans le programme main comme static donc il faut les mettre dans cette class unSac et les supprimer dans main mais je sais pas mettre le code dans ces methodes.
merci d'avance