Vous êtes sur la page 1sur 8

Exercice application

1 et 2
import java.util.Random;

public class Compte {

private long numeroCompte;

private String typeCompte;

private double solde;

private int codeSecret;

private String nomProprietaire;

private String prenomProprietaire;

public Compte() {

public Compte(long numeroCompte, String typeCompte, double solde, String nomProprietaire,


String prenomProprietaire) {

this.numeroCompte = numeroCompte;

this.typeCompte = typeCompte;

this.solde = solde;

this.codeSecret = genererCode();

this.nomProprietaire = nomProprietaire;

this.prenomProprietaire = prenomProprietaire;

3
private int genererCode() {

Random random = new Random();

return 1000 + random.nextInt(9000);

}
4
public boolean unique(long num, Compte[] T, int nb_comptes) {

for (int i = 0; i < nb_comptes; i++) {

if (T[i].numeroCompte == num) {

return false;

return true;

public boolean valide(String typeCpt) {

return typeCpt.equals("ind") || typeCpt.equals("pro") || typeCpt.equals("ext");

public void afficheCompte() {

System.out.println("*********************************************");
System.out.println("Nom : " + nomProprietaire);

System.out.println("Prénom : " + prenomProprietaire);

System.out.println("Numéro de compte : " + numeroCompte);

System.out.println("Code secret : " + codeSecret);

System.out.println("Type de compte : " + typeCompte);

System.out.println("Solde : " + solde);

System.out.println("*********************************************");

public static Compte[] trouverComptesSoldeMax(Compte[] T, int nb_comptes) {

double soldeMax = T[0].solde;

int nb = 0;

for (int i = 1; i < nb_comptes; i++) {

if (T[i].solde > soldeMax) {

soldeMax = T[i].solde;

Compte[] comptesSoldeMax = new Compte[nb_comptes];

for (int i = 0; i < nb_comptes; i++) {

if (T[i].solde == soldeMax) {

comptesSoldeMax[nb] = T[i];

nb++;

Compte[] result = new Compte[nb];

System.arraycopy(comptesSoldeMax, 0, result, 0, nb);

return result;
}

Test compte

7
public class TestCompte {

public static void main(String[] args) {

Compte[] Tab = new Compte[10];

int nbComptes = 0;

// Remplisage du tableau avec cinq comptes distincts

for (int i = 0; i < 5; i++) {

long numero = 100000 + i ;

String type = "ind";

double solde = 5000 + i * 1000;

String nom = "Nom" + i;

String prenom = "Prenom" + i;

Compte compte = new Compte(numero, type, solde, nom, prenom);

if (compte.valide(type) && compte.unique(numero, Tab, nbComptes)) {

Tab[nbComptes] = compte;

nbComptes++;

}
8

// Affichage des détails des comptes

for (int i = 0; i < nbComptes; i++) {

Tab[i].afficheCompte();

// Affichage des détails des comptes contenant le solde le plus élevé

Compte[] comptesSoldeMax = Compte.trouverComptesSoldeMax(Tab, nbComptes);

System.out.println("Compte(s) avec le solde le plus élevé :");

for (Compte compte : comptesSoldeMax) {

compte.afficheCompte();

// Affichage des numéros des comptes dont le solde dépasse 1000 TND

System.out.println("Numéro(s) de compte avec un solde dépassant 1000 TND :");

for (int i = 0; i < nbComptes; i++) {

if (Tab[i].getSolde() > 1000) {

System.out.println(Tab[i].getNumeroCompte());

// Changer le type des comptes dont le solde dépasse 10 000 TND à "ext"

for (int i = 0; i < nbComptes; i++) {

if (Tab[i].getSolde() > 10000) {

Tab[i].setTypeCompte("ext");

}
// Trier les comptes en fonction de leurs soldes

for (int i = 0; i < nbComptes - 1; i++) {

for (int j = 0; j < nbComptes - i - 1; j++) {

if (Tab[j].getSolde() > Tab[j + 1].getSolde()) {

Compte temp = Tab[j];

Tab[j] = Tab[j + 1];

Tab[j + 1] = temp;

// Affichage la liste des comptes après tri

System.out.println("Liste des comptes après tri :");

for (int i = 0; i < nbComptes; i++) {

Tab[i].afficheCompte();

Exercice1
1 et 2
package poo;

public class class1 {

public int A;

public int B;

public int C

; public String nom;

public class1 () {} }
3
package poo;

public class test2 {

public static void main(String[] args) { // TODO Auto-generated method stub

class1 o = new class1(); //instanciation de la classe « Classe1 »

o.A = 3; //initialisation de l’attribut A

System.out.println("La valeur de A : "+o.A); } }

4
package poo;

public class class1 {

private int A;

private int B;

private int C;

private String nom;

public int getA() { return A;

public void setA(int A) { this.A = A;

public int getB() {

return B;

public void setB(int B)

{ this.B = B; }

public int getC()

{ return C; }

public void setC(int C)

{ this.C = C; }

}
/* je remarque qu'il y'a des erruers at tp5/poo.test2.main(test2.java:11). la solution pour résoudre ce
probléme:*/

package poo;

public class test2 {

public static void main(String[] args) {

// TODO Auto-generated method stub

class1 o = new class1(); //instanciation de la classe « Classe1 »

o.setA(3); //initialisation de l’attribut A System.

Vous aimerez peut-être aussi