projets:2018:stagejava
Ceci est une ancienne révision du document !
Table des matières
Stage Java: octobre 2018
Introduction
Découvrir la plateforme Java:
- son langage de programmation
- sa machine virtuelle
- l'environnement de développement
| Public cible | 10 jeunes |
|---|---|
| Date | 22, 23, et 24 octobre |
| Lieu | Au 214 |
Modalités
Une inscription est nécessaire pour pouvoir planifier. Une adhésion “Les Petits Hackers” (80 euros) sera demandée.
Planning et contenu
- Communication
Présent pour animer
Animation de l'atelier:
- Stéphane Blanc
- Christian Jacolot
Contacts
| Structure | Nom Prénom | Rôle sur le projet / poste |
|---|---|---|
| Maison du libre | Stéphane Blanc | Logistique et animation |
| Maison du libre | Christian JACOLOT | Logistique et animation |
Déroulé
- Présentation Java
- Installation Java JDK (OpenJDK)
- Présentation et installation de l'environnement de développement Eclipse
- Présentation du langage avec des exemples
Présentation Java
Présentation: stage_initiation_java.odp
Code de l'exemple:
package bzh.lph.stage;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Devine {
private final static int max = 100;
public static void main(String[] args) throws IOException {
int nombre = (int) (Math.random() * max) + 1; // à deviner
int nbCoup = 0;
int i = 0;
do {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Entrer un entier entre 1 et 100:");
try {
i = Integer.parseInt(br.readLine());
if (i < nombre) {
System.out.println("nombre trop petit");
} else if (i > nombre) {
System.out.println("nombre trop grand");
} else {
System.out.println("bravo, vous avez deviné");
}
} catch (NumberFormatException nfe) {
System.err.println("Ce n'est pas un nombre!");
}
nbCoup += 1; // nbCoup = nbCoup +1;
} while (i != nombre);
System.out.println("Gagné en " + nbCoup + " coup(s)");
}
}
}
Java Interface Graphique
Présentation: stage_initiation_java_gui.odp
Code de l'exemple:
package bzh.lph.services;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class DevineGui {
private final static int max = 100;
public static void main(String[] args) {
// jeu
int nombre = (int) (Math.random() * max) + 1; // à deviner
int nbCoup = 0;
// fenêtre
JFrame f = new JFrame("ma fenêtre");
f.setSize(640,480);
// conteneur
JPanel panel = new JPanel();
// configure le layout du conteneur
panel.setLayout(new FlowLayout());
// créer les widgets
JLabel msgLbl = new JLabel("Devine un nombre entre 1 et 100");
JLabel msgEntreLbl = new JLabel("Entrer un nombre: ");
JTextField nombreTF = new JTextField();
nombreTF.setText("99");
JButton validationBtn = new JButton("Valider mon nombre");
// quand le bouton validation est cliqué, vérifie le nombre
validationBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String textNombre = nombreTF.getText();
int i = 0;
try {
i = Integer.parseInt(textNombre);
if (i < nombre) {
JOptionPane.showConfirmDialog(f,
"nombre trop petit", "Perdu",
JOptionPane.OK_CANCEL_OPTION);
} else if (i > nombre) {
JOptionPane.showMessageDialog(f,
"nombre trop grand", "Perdu",
JOptionPane.OK_CANCEL_OPTION);
} else {
JOptionPane.showMessageDialog(f,
"vous avez deviné", "Bravo",
JOptionPane.OK_CANCEL_OPTION);
}
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(f,
"Ceci n'est pas un nombre !", "Erreur",
JOptionPane.OK_CANCEL_OPTION);
}
// nbCoup += 1; // nbCoup = nbCoup +1;
}
});
// ajoute les widgets au conteneur
panel.add(msgLbl);
panel.add(msgEntreLbl);
panel.add(nombreTF);
panel.add(validationBtn);
// ajoute le conteneur à la fenêtre
f.getContentPane().add(panel);
// la fenêtre est visible et active
f.setVisible(true);
}
}
Java Stockage: Base de données
Présentation: stage_initiation_java_stockage.odp
Code de l'exemple:
package bzh.lph.stage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class GestionContact {
private static Connection conn = null;
public static void main(String[] args) {
connect();
// lireData();
// ecrireData();
// effacerData();
disconnect();
}
// connection à la base de contact
public static void connect() {
conn = null;
try {
// les paramêtres de la connexion à la base de données
String url = "jdbc:sqlite:contact.db";
// ouvrir la base de données
conn = DriverManager.getConnection(url);
System.out.println("Connexion à la base réussie.");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
// fermer la connexion à la base de données
private static void disconnect() {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
private static void lireData() {
if (conn != null) {
try {
// créer à partir de la connexion la requête
Statement stmt = conn.createStatement();
// exécuter la requête
ResultSet rs
= stmt.executeQuery("select * from contact");
// parcourir le résultat
while (rs.next()) {
int numeroContact = rs.getInt("numero");
String nomContact = rs.getString("nom");
String prenomContact = rs.getString("prenom");
System.out.println(
"Numéro: " + numeroContact
+ ", Nom: " + nomContact + ", Prénom: " + prenomContact);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
private static void ecrireData() {
if (conn != null) {
try {
// préparer la requête
String nomContact = "Blanc";
String prenomContact = "Stéphane";
String insertionContact = "INSERT INTO contact(nom, prenom) VALUES('" + nomContact + "','"
+ prenomContact + "')";
// créer à partir de la connexion la requête
Statement stmt = conn.createStatement();
// exécuter la requête
stmt.executeUpdate(insertionContact);
System.out.println("Insertion de Stéphane: ok");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
private static void effacerData() {
if (conn != null) {
try {
// préparer la requête
int numeroJacolot = 1;
String effacterRqt = "DELETE FROM contact WHERE numero = ?";
// créer une requête à partir de la connexion
PreparedStatement deleteStmt = conn.prepareStatement(effacterRqt);
// positionner le paramètre
deleteStmt.setInt(1, numeroJacolot);
// exécuter la requête
deleteStmt.executeUpdate();
System.out.println("Christian a été effacé: ok");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
}
projets/2018/stagejava.1540392468.txt.gz · Dernière modification : 2024/04/16 22:26 (modification externe)
