////////////////////// fonction principale//////////////////////////////////////////////////////////////////////////////////
public static void main (String args[]) {
unSac[] A = new unSac[20];
A[0]=new unSac(); //erreur: the constructor unSac is undefined
int Num;
// saisie du sac A
Terminal.ecrireString("Saisie des boules du sac A : ");
for(int i=0;i<A.length;i++){
A[0].Lire();
}
A = Lire(A); //erreur
Terminal.ecrireString("A = ");
Affiche(A);
Terminal.sautDeLigne();
// saisie d'un numéro de boule
Terminal.sautDeLigne();
Terminal.ecrireString("donnez un numero de boule : ");
Num = Terminal.lireInt();
}
}
class unSac{
int[]sac;
unSac(int[] leSac){
sac=leSac;
}
void Affiche(int[] sac) {
Terminal.ecrireString("{");
boolean Au_Moins_Un = false;
for (int i=0; i<sac.length; i++)
if (sac[i]>0) {
if (Au_Moins_Un) Terminal.ecrireString(", ");
else Au_Moins_Un = true;
Terminal.ecrireString((i+1)+"=>"+sac[i]);
};
Terminal.ecrireString("}");
}
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;
}
}
Partager