0% ont trouvé ce document utile (0 vote)
5 vues5 pages

Calculatrice et Statistiques Java Swing

Le document présente trois exercices de programmation en Java utilisant Swing pour créer des interfaces graphiques. Le premier exercice consiste à développer une calculatrice simple, le deuxième à résoudre des équations du second degré, et le troisième à calculer la moyenne, le maximum et le minimum d'une liste de nombres. Chaque exercice inclut un code source détaillé et des fonctionnalités spécifiques pour interagir avec l'utilisateur.

Transféré par

ayoub
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues5 pages

Calculatrice et Statistiques Java Swing

Le document présente trois exercices de programmation en Java utilisant Swing pour créer des interfaces graphiques. Le premier exercice consiste à développer une calculatrice simple, le deuxième à résoudre des équations du second degré, et le troisième à calculer la moyenne, le maximum et le minimum d'une liste de nombres. Chaque exercice inclut un code source détaillé et des fonctionnalités spécifiques pour interagir avec l'utilisateur.

Transféré par

ayoub
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP Interface graphique Swing avec Java

Exercice 1 : Calculatrice simple (somme, soustraction, multiplication, division)

Objectif :

Créer une petite calculatrice graphique avec :

 2 zones de texte pour les nombres

 une liste déroulante pour choisir l’opération

 un bouton "Calculer"

 un label pour afficher le résultat

Code : [Link]
import [Link].*;
import [Link].*;
import [Link];
import [Link];

public class CalculatriceSimple extends JFrame {


private JTextField txtA, txtB;
private JComboBox<String> operations;
private JLabel lblResultat;

public CalculatriceSimple() {
setTitle("Calculatrice Simple");
setSize(350, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2, 5, 5));

add(new JLabel("Nombre 1 :"));


txtA = new JTextField();
add(txtA);

add(new JLabel("Nombre 2 :"));


txtB = new JTextField();
add(txtB);

add(new JLabel("Opération :"));


operations = new JComboBox<>(new String[]{"Somme", "Soustraction", "Multiplication",
"Division"});
add(operations);

JButton btnCalculer = new JButton("Calculer");


add(btnCalculer);

lblResultat = new JLabel("Résultat : ");


add(lblResultat);
[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double a = [Link]([Link]());
double b = [Link]([Link]());
double result = 0;
String op = (String) [Link]();

switch (op) {
case "Somme": result = a + b; break;
case "Soustraction": result = a - b; break;
case "Multiplication": result = a * b; break;
case "Division": result = b != 0 ? a / b : [Link]; break;
}
[Link]("Résultat : " + result);
} catch (NumberFormatException ex) {
[Link]("Entrée invalide !");
}
}
});

setVisible(true);
}

public static void main(String[] args) {


new CalculatriceSimple();
}
}

Exercice 2 : Résolution d’équation du 2ᵉ degré

Objectif :

Créer une interface pour résoudre une équation de la forme


ax² + bx + c = 0

Saisir a, b, c → cliquer sur "Résoudre" → afficher les racines.

[Link]
import [Link].*;
import [Link].*;
import [Link];
import [Link];

public class EquationDeuxiemeDegre extends JFrame {


private JTextField txtA, txtB, txtC;
private JLabel lblResultat;
public EquationDeuxiemeDegre() {
setTitle("Équation du 2ème degré");
setSize(400, 250);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2, 5, 5));

add(new JLabel("a :"));


txtA = new JTextField();
add(txtA);

add(new JLabel("b :"));


txtB = new JTextField();
add(txtB);

add(new JLabel("c :"));


txtC = new JTextField();
add(txtC);

JButton btnResoudre = new JButton("Résoudre");


add(btnResoudre);

lblResultat = new JLabel("Résultat : ");


add(lblResultat);

[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double a = [Link]([Link]());
double b = [Link]([Link]());
double c = [Link]([Link]());
double delta = b * b - 4 * a * c;

if (a == 0) {
[Link]("Ce n'est pas une équation du 2e degré.");
return;
}

if (delta < 0)
[Link]("Aucune racine réelle (Δ = " + delta + ")");
else if (delta == 0)
[Link]("Une racine double : x = " + (-b / (2 * a)));
else {
double x1 = (-b - [Link](delta)) / (2 * a);
double x2 = (-b + [Link](delta)) / (2 * a);
[Link]([Link]("x1 = %.2f , x2 = %.2f", x1, x2));
}
} catch (NumberFormatException ex) {
[Link]("Entrée invalide !");
}
}
});

setVisible(true);
}

public static void main(String[] args) {


new EquationDeuxiemeDegre();
}
}

Exercice 3 : Moyenne, Max et Min d’un tableau

Objectif :

 L’utilisateur saisit une liste de nombres séparés par des virgules.

 Au clic sur “Calculer”, l’app affiche :

o la moyenne

o le max

o le min

[Link]
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];

public class StatsTableau extends JFrame {


private JTextField txtValeurs;
private JLabel lblResultat;

public StatsTableau() {
setTitle("Statistiques d'un Tableau");
setSize(400, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 1, 5, 5));

txtValeurs = new JTextField();


[Link]("Exemple : 10,20,30,5");
add(txtValeurs);

JButton btnCalculer = new JButton("Calculer Moyenne / Max / Min");


add(btnCalculer);
lblResultat = new JLabel("Résultat : ");
add(lblResultat);

[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double[] tab = [Link]([Link]().split(","))
.mapToDouble(Double::parseDouble)
.toArray();

double somme = [Link](tab).sum();


double moyenne = somme / [Link];
double max = [Link](tab).max().orElse([Link]);
double min = [Link](tab).min().orElse([Link]);

[Link]([Link]("Moy=%.2f | Max=%.2f | Min=%.2f", moyenne, max,


min));
} catch (Exception ex) {
[Link]("Entrée invalide !");
}
}
});

setVisible(true);
}

public static void main(String[] args) {


new StatsTableau();
}
}

Vous aimerez peut-être aussi