Java : interrompre code

Résolu/Fermé
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 - 2 mars 2009 à 23:12
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 - 3 mars 2009 à 13:52
Bonjour,

Je réalise un programme en mode console sous eclipse et j'aimerai pouvoir interrompre le code, pour qu'il redémarre l'utilisateur doit toucher sur une touche.

EXEMPLE :
code
arrêt
utilisateur appuie sur une touche
code

Je souhaiterai savoir s'il existe une méthode permettant d'interrompre le code??

Merci d'avance
A voir également:

6 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
3 mars 2009 à 00:04
Bonsoir,
Tu peux faire un sleep dans une boucle infinie dans l'attente d'un évènement utilisateur.

Cordialement,
0
Utilisateur anonyme
3 mars 2009 à 03:21
Salut,

Le problème, c'est qu'on n'a aucune idée de ce qu'est ton programme...

Supposons que tu sais à quel endroit tu veux interrompre (là est la question).

À cet endroit tu affiches un message dans une boîte de dialogue :


javax.swing.JOptionPane.showMessageDialog(null,"PAUSE...\n
pour reprendre le traitement, cliquer sur OK ou appuyer sur Intro.);

Mais c'est vraiment un cas particulier...

Cordialement,

Dan
0
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
3 mars 2009 à 08:42
Bonjour,

tout d'abord merci pour votre aide et vos conseil.

Mon programme c'est la création et le remplissage de table d'une base de données et l'affichage de report réalisé avec Birt d'eclipse.

Oui je sais quand je souhaite que mon programme soit arrêté.

Mon maître de stage m'a parlé de output ou input je crois. (je m'en souviens plus trop désolé)

Merci d'avance.
0
Utilisateur anonyme
3 mars 2009 à 09:40
Re,

Est-ce que ce ne serait pas pour éviter la fin de programme après l'affichage (tu dis de report et je ne sais pas ce qu'est Birt) et donc pouvoir consulter cet affichage avant que la console s'efface.

Tu aurais donc:

l'affichage et, immediatement après ,
System.exit(0);
Dans ce cas impossible de lire ce qui est à la console.

Si oui, il faut faire une demande d'intro clavier qui attendra que lon appuie sur Intro avant
System.exit(0);

Exemple:


import java.io.*;
-----------
-----------

------
affichage
-------
try
{
System.out.println("Appuyer sur Intro");
int n = System.in.read();
}
catch(IOException ioe)
{
System.err.println("Erreur: " + ioe.getMessage());
}
System.exit(0);

Cordialement,

Dan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
3 mars 2009 à 09:51
En fait,

mon code permet de créer des tables.
Ce que je souhaite c'est :
1) création de la première table
2) arrêt du programme
3) affichage de la base (de la table et de son contenu)
4) affichage du rapport (report de birt) correspondant à cette première table.
5) l'utilisateur du programme clique sur une touche pour redémarrer le programme
6) création de la deuxième table
7) arrêt du programme
8) affichage de la base
..... et ainsi de suite.
=> report de birt c'est des rapports montrant via des graphiques....le contenu de la base.

J'espère être un peu plus claire dans mes explications.
Cordialement
0
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
3 mars 2009 à 13:52
Bon ben, j'ai essayé ce que tu m'avais passé et cela réalise exactement ce que je souhaité.
Cela me donne :
import java.io.IOException;
import java.sql.*;

public class DictionnaireParametrable
{
	public static void main(String[] args) 
	{
		 System.out.print("\n                Création des tables et insertions des données                ");
	     String url = "jdbc:FrontBase://localhost/DictionnaireParametrable_V3/user=_SYSTEM";
	       
	     try 
	     {
	    	 Class.forName ("com.frontbase.jdbc.FBJDriver") .newInstance();
	    	 Connection con = DriverManager.getConnection(url);
	    	 
	 		Runtime runtime = Runtime.getRuntime();
			Process process = null;
	    	 try 
	    	 {
	    		 Statement monStatement = con.createStatement();
	    		 
	    		 System.out.println("\n\n************************************************************************************\n");
	    		 
	    		 String table = "CREATE TABLE Article(id integer, libelle varchar(50), prix integer)";
	    		 monStatement.executeUpdate (table) ;
	    		 String constraint = "ALTER TABLE Article ADD CONSTRAINT PK_Article PRIMARY KEY (id)";
	    		 monStatement.executeUpdate(constraint);
	    		 System.out.println("Création de la table 'Article' avec succée");
	    		 
	    		 String  donnees = "INSERT INTO Article VALUES (1, 'Levis 501', 45)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (2, 'Sportwear', 12)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (3, 'Honda hornet', 1500)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (4, 'Suzuki bandit', 2000)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (5, 'Yamaha FZ6', 1000)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (6, 'Aprilia leonardo', 1250)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (7, 'C# précis et concis', 9)";
	    		 monStatement.executeQuery(donnees);
	    		 donnees = "INSERT INTO Article VALUES (8, 'Tout sur le développement logiciel', 12)";
	    		 monStatement.executeQuery(donnees);
	    		 System.out.println("Les données de la 'table Article' sont insérées");
	    		 
	    		 process = runtime.exec(new String[]{"open", "/Applications/FrontBaseManager.app"});

		    	System.out.println("Pour continuer : cliquer sur la touche entrer de votre clavier");
		    	int n = System.in.read();
..............
	    	 }
	    	 catch (SQLException s)
	    	 {
	    		 System.out.println ("Une erreur est survenue") ;
	    	 }
	    	 con.close () ;
	     }
	     catch (Exception e)
	     {
	    	 e.printStackTrace () ;
	     }
	}
}


Merci pour tout.
0