DIVISION ENTIÈRE ET REST


Dans le module "Expressions arithmétiques" nous avons parlé des fonctionnalités de l'opération de division dans le langage Java.
Rappelez-vous que pour les données entières (type int), deux opérations de division peuvent être utilisées.
/ - division entière, lorsque nous supprimons la partie fractionnaire à la suite de l'opération de division
% - calcul du reste de la division

SOUVENEZ-VOUS !
En Java, le résultat de la division d'un entier par un entier – c'est toujours un entier, le reste est ignoré lors de la division.

Exemple : int a,b ; un = 10 ; b = 3 ; int c = a / b; // Réponse : c = 3 int d = a%b ; // Réponse : d = 1 Ces opérations sont très importantes en programmation. Ils doivent être compris et utilisés correctement. Et cela demande de la pratique !

 

La nécessité d'appliquer l'opération de calcul du reste de la division est visible lorsque l'on travaille avec les chiffres d'un nombre. 

Analysons la tâche suivante :
Un nombre à trois chiffres est donné. Affichez tous les chiffres de ce nombre et obtenez un nouveau nombre formé par la permutation des unités et des centaines

La question la plus difficile qui se pose aux débutants est de savoir comment prendre et obtenir ses chiffres à partir d'un nombre.
En fait, tout est résolu assez simplement, si vous vous souvenez des calculs. Et les mathématiques nous disent que tout nombre peut être décomposé en une somme de termes numériques.
Par exemple : 365=3*100+6*10+5*1 . Nous voyons que chaque chiffre est un multiplicateur du chiffre correspondant du nombre. 
Nous allons montrer comment obtenir chaque chiffre d'un nombre dans une variable distincte, en utilisant l'exemple de la division des colonnes par le nombre 10. (Nous prenons le nombre 10, car nous avons un système de numération décimale et, par conséquent, nous avons des termes numériques 1, 10, 100, etc.)
  

En analysant la figure, vous pouvez voir que  e = n % 10 ; // opération n % 10 - calcule le dernier chiffre du nombre n (c'est-à-dire les unités du nombre) 365 % 10 = 5 d = n / 10 % 10 ; // opération n / 10 - réduit le nombre de 10 fois, c'est-à-dire supprime le dernier chiffre du nombre (365 / 10 = 36), // nous pouvons maintenant calculer le nombre de dizaines en appliquant l'opération familière au résultat - calculer le reste de la division par le nombre 10, 36 % 10 = 6 s=n/100 ; // pour obtenir des centaines, il suffit de supprimer deux chiffres à droite du nombre, c'est-à-dire de diviser par 10 deux fois (n / 10 /10 ou la même chose que n / 100 ) 365 / 100 = 3
Ayant les chiffres enregistrés du nombre, nous pouvons en faire n'importe quel nombre en multipliant le chiffre souhaité par le chiffre correspondant : 
par exemple, la ligne ci-dessous obtiendra un nouveau nombre à partir du nombre d'origine n, avec des centaines et des unités réarrangées :
1) l'ancien nombre de uns (stocké dans la variable e)  multiplié par 100 
2) l'ancien nombre de dizaines (stocké dans la variable d)  multiplier par10 
3) on peut simplement multiplier l'ancien nombre de centaines par 1, ou simplement prendre la valeur stockée dans la variable s
Ensuite, ajoutez simplement les valeurs des points 1, 2 et 3 et obtenez un nouveau nombre :

n1 = e * 100 + d * 10 + s ;

L'ensemble du programme ressemblera à ceci : importer java.util.Scanner ; classe publique principale { public static void main(String[] args) { Scanner in = nouveau Scanner(System.in); int n, e, d, s ; n = in.nextInt() ; e = n % 10; d = n / 10 % 10 ; s=n/100 ; System.out.print(e + "" + d + "" + s + "" + (e * 100 + d * 10 + s)); }