/* Amelioration de "puissance1" avec des entrees-sorties plus conviviales */ import javax.swing.JOptionPane;// import de la classe JOptionPane du package swing situé dans le package javax class Puissance2{ public static void main (String[] args) { int x, y; String ch1,ch2; String ps = " puissance "; ch1=JOptionPane.showInputDialog("taper votre 1er nb ici"); //appel de la fonction showInputDialog de la classe JOptionPane du package swing ch2=JOptionPane.showInputDialog("taper votre 2eme nb ici"); System.out.println("nb1="+ch1+"; nb2="+ch2); x=Integer.parseInt(ch1); //conversion explicite d'une chaine de caract en entier (fonction de la classe Integer) y=Integer.parseInt(ch2); JOptionPane.showMessageDialog(null,"Resultat : "+x+ps+y+" = "+ puissance(x,y),"Titre de la fenetre",JOptionPane.WARNING_MESSAGE); // appel d'une autre fonction de la meme classe // NB : le dernier parametre est une constante de la classe (majuscules) qui agit sur l'icone System.exit(0); // Sortie du programme } public static int puissance (int a, int k) { //autre methode de ma classe avec 2 parametres int res,p; //declaration de 2 entiers locaux à cette methode res = 1; p=a; //affectations while (k>0) { int div=2; //declaration d'une variable locale à la boucle while if (k%div ==1) { // comparaison : attention à la confusion entre = et == res=res*p; } p=p*p; k=k/2; } return res; // valeur de retour de l'expression puissance(x,y)du main } }