cours0708/G5a/Cours/Puissance1.java

40 lines
1.8 KiB
Java

/* Ceci est un premier programme très simple mettant en oeuvre
quelques notions de base java */
import iutsud.Console; // import de la classe Console du package iutsud pour les entrées-sorties
/** Classe qui saisit à la console 2 entiers et qui affiche leur puissance */
public class Puissance1{ /* classe principale et unique de notre petit programme. RQ : elle
a le meme nom que le fichier source */
/** methode principale de la classe */
public static void main (String[] args) {
int x; //declaration d'une variable x de type entier
int y; //idem
String ps = " puissance "; // declaration et initialisation d'une chaine de caracteres
System.out.print ("x : "); //affichage sur la sortie standard (ecran DOS)
x=Console.readInt(); // lecture sur l'entree standard (clavier)
System.out.print ("y : ");
y=Console.readInt();
System.out.println ("Calcul de "+x+ps+y); /*attention c'est le + de la concaténation !
Que donnerait println (x+y+ps+x+y) ? */
System.out.println (x+ps+y+" = "+ puissance(x,y)); //appel d'une autre methode de la classe
}
/** fonction à 2 paramètres : calcul de a puissance k avec l'algorithme egyptien*/
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
}
}