Examen Java FIUPSO 3/DESS 2001/2002
// Si l’on rencontre une fin de fichier, ou si l’utilisateur
// entre "quit", on sort
if ((line == null) || line.equals("5")) break;
// On essaie de formatter l’entree de l’utilisateur,
int choix = Integer.parseInt(line);
System.out.print("Veuillez entrer le 1er entier : ");
line = in.readLine();
int x = Integer.parseInt(line);
System.out.print("Veuillez entrer le 2eme entier : ");
line = in.readLine();
int y = Integer.parseInt(line);
switch(choix) {
case 1 : resultat = somme(x, y); // Somme
break;
case 2 : resultat = soustraction(x, y); // Soustraction
break;
case 3 : resultat = multiplication(x, y); // Multiplication
break;
case 4 : resultat = division(x, y); // Division
break;
}
System.out.println("Resultat : " + resultat);
}
// Affichage d’un message d’erreur en cas de probleme
catch(Exception e) { System.out.println("Entree Invalide"); }
}
}
}
Gestion de banque en client/serveur par sockets
L’objet des exercices qui suivent est de d´
evelopper une application de gestion bancaire
simple en r´
eseau, utilisant les sockets. Ce dernier m´
ecanisme n’offrant que du transfert de
flux, donc d’assez bas niveau, il est n´
ecessaire de concevoir un protocole permettant de
diff´
erentier les diff´
erentes op´
erations bancaires tout en acheminant les donn´
ees pertinentes.
Ce type de conception ne serait pas n´
ecessaire si l’on prenait des invocations de m´
ethodes
distantes (RMI), bien que l’on perde ´
evidemment en souplesse de conception.
Pour r´
ealiser l’objectif vis´
e, on se fondera sur l’exercice de gestion bancaire en local. On
repr´
esentera un paquet par une classe d´
ecrite ci-dessous.
Solution de l’ex. 2 Paquets `
a´
echanger
Une solution possible est la suivante :
// Gestion simpliste de banque utilisant des sockets
import java.util.*;
import java.io.*;
/**
* Classe pour stocker les donnees d’un compte bancaire
**/ class Account {
String password; // mot de passe
int balance; // solde du compte
Vector transactions = new Vector(); // historique des transactions
Hugues MOUNIER 2