JavaRush /Blog Java /Random-FR /Comment exposer en Java

Comment exposer en Java

Publié dans le groupe Random-FR
Bonjour le monde! Rechercher quelque chose sur Google ou demander de l'aide sur un forum est une chose courante, même pour un programmeur expérimenté. Mais il y a des sujets en développement qui sont si basiques et simples que même un débutant vert devrait les connaître. Et voici l'un de ces sujets. Aujourd'hui, nous allons parler de la façon dont l'exponentiation est effectuée en Java. Comment faire une exponentiation en Java - 1Imaginons une seconde que l'on vous confie une tâche : trouver un nombre dans une certaine mesure. Cela semble assez simple, mais comment mettre en œuvre la solution ? Examinons la méthode la plus courante et plusieurs alternatives. Et avant de « plonger » dans les solutions, rappelons d’abord ce qu’est l’élévation d’un nombre à une puissance : Comment faire une exponentiation en Java - 2l’élévation à une puissance est une action dans laquelle un nombre est multiplié par lui-même plusieurs fois. Le nombre multiplié s’appelle la base et le nombre de fois qu’il est multiplié s’appelle l’exposant. Eh bien, le résultat de cette auto-multiplication de la base est appelé exponentiation. Par exemple, pour 8, c'est 2 à la puissance trois, puisque 2x2x2=8. Élever un nombre à la puissance deux indique que nous le multiplions par deux, et en règle générale, cette puissance est appelée puissance carrée. Autrement dit, 4 au carré = 4x4 = 16. Nous avons donc rafraîchi notre mémoire et passons maintenant directement à la façon d'utiliser pow en Java - une méthode d'exponentiation.
  1. Pouvoir mathématique

    Le moyen le plus simple de résoudre ce problème est d’utiliser le cours Math. C'est la solution que vous utiliserez dans la plupart des cas.

    Comment exposer en Java - 3

    Le cours Math contient des méthodes liées à la trigonométrie, à la géométrie et à d’autres aspects des mathématiques. Dans celui-ci, les méthodes sont implémentées de manière statique, vous pouvez donc les appeler immédiatement via le nom de la classe Math sans créer d'objet de classe.

    À quoi ressemble l'exponentiation :

    public static int pow(int value, int powValue) {
       return (int) Math.pow(value, powValue);
    }

    Nous avons dû utiliser un transtypage de type (int), puisque cette méthode de la classe Math renvoie une valeur de type double (les arguments sont également doubles, mais un transtypage de type implicite y est utilisé).

    Et maintenant – un bonus : des options supplémentaires.

  2. La valeur du carré d'un nombre

    Commençons peut-être par la chose la plus simple.

    Voici comment s’écrit la méthode de mise au carré :

    public static int pow(int value){
       return value*value;
    }

    Appel principal :

    public static void main(String[] args) {
       System.out.println(Solution.pow(7));
    }

    C'est tout - rien de compliqué ou d'inutile.

  3. Nombre au pouvoir

    Mais le nombre au carré n’est pas tout ce dont nous avons besoin. Le plus souvent, dans notre travail, nous aurons besoin d'un nombre dans une certaine mesure, ce qui suit est donc une version légèrement plus compliquée, mais avec une valeur java pow personnalisée :

    public static void main(String[] args) {
       System.out.println(Solution.pow(7, 4));
    }
    
    public static int pow(int value, int powValue) {
       int result = 1;
       for (int i = 1; i <= powValue; i++) {
           result = result * value;
       }
       return result;
    }

    L'algorithme est très simple : nous définissons le résultat du point de départ, puis le multiplions par notre valeur autant de fois que la boucle avec powValue s'exécute (nombre de fois powValue)

  4. Récursion

    La prochaine méthode sera un peu plus exotique, mais non moins cool.

    Comment exposer en Java - 4

    La récursivité est une fonctionnalité qui permet à une méthode de s'appeler elle-même. En Java, un tel mécanisme existe et ces méthodes sont donc appelées récursives.

    De nombreux problèmes algorithmiques, sinon tous, peuvent être résolus de manière récursive. Celui-ci ne fera pas non plus exception, voyons donc comment élever un nombre à une certaine puissance de manière récursive :

    public static int pow(int value, int powValue) {
       if (powValue == 1) {
           return value;
       } else {
           return value * pow(value, powValue - 1);
       }
    }

    Comme nous pouvons le voir, nous avons deux cas :

    1. La condition pour sortir de la récursion, ou en d'autres termes, lorsque notre valeur de degré atteint un, nous commencerons à être renvoyés.
    2. Le mécanisme lui-même pour multiplier la valeur par le résultat de l'appel de la même méthode, mais avec powValue - 1.

    Eh bien, il est maintenant temps d’examiner des méthodes plus paresseuses, à savoir les méthodes « prêtes à l’emploi ».

  5. GrandEntier

    L'objectif principal de la classe BigInteger est de stocker des entiers de taille arbitraire, mais elle dispose en même temps de diverses méthodes arithmétiques qui vous permettent de travailler avec ces nombres énormes (ou pas si énormes).

    Comment exposer en Java - 5

    Vous pouvez en savoir plus sur BigInteger dans cet article .

    Alors, à quoi ressemblerait l’exponentiation en utilisant BigInteger en Java ?

    public static int pow(int value, int powValue) {
       BigInteger a = new BigInteger(String.valueOf(value));
      return a.pow(powValue).intValue();
    }

    Assez simple et sans aucun problème, n'est-ce pas ?

Eh bien, c'est tout pour aujourd'hui ! Vous connaissez maintenant diverses façons d’exponentier. D'accord, ce n'était pas un sujet difficile :)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION