38 lines
1.7 KiB
Java
38 lines
1.7 KiB
Java
|
/* Amelioration de "puissance1" avec des entrees-sorties plus conviviales */
|
|||
|
|
|||
|
import javax.swing.JOptionPane;// import de la classe JOptionPane du package swing situ<74> 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 <20> cette methode
|
|||
|
res = 1;
|
|||
|
p=a; //affectations
|
|||
|
while (k>0) {
|
|||
|
int div=2; //declaration d'une variable locale <20> la boucle while
|
|||
|
if (k%div ==1) { // comparaison : attention <20> 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
|
|||
|
}
|
|||
|
|
|||
|
}
|