Introduction
La méthode Java isFinite() est utilisée dans le langage Java pour vérifier si la valeur double passée est une valeur finie ou non. Elle renvoie la valeur booléenne true si la valeur double passée est une valeur finie, et renvoie false pour les valeurs NaN et infinies. Dans ce laboratoire, vous allez apprendre à utiliser la méthode Java isFinite().
Configurer l'environnement Java
Si vous n'avez pas encore installé Java sur votre système, téléchargez la dernière version et installez-la. Vérifiez l'installation en exécutant la commande suivante :
java -version
Créer une classe Java
Créez une nouvelle classe Java appelée DoubleIsFiniteDemo dans le répertoire ~/project.
cd ~/project
touch DoubleIsFiniteDemo.java
Écrire le code Java
Dans cette étape, nous allons écrire le code Java en utilisant la méthode isFinite() pour vérifier si la valeur double passée est une valeur finie ou non. Copiez et collez le code suivant dans DoubleIsFiniteDemo.java :
public class DoubleIsFiniteDemo {
public static void main(String[] args) {
double d1 = 100.0;
double d2 = Double.POSITIVE_INFINITY;
double d3 = Double.NEGATIVE_INFINITY;
double d4 = Double.NaN;
boolean b1 = Double.isFinite(d1);
boolean b2 = Double.isFinite(d2);
boolean b3 = Double.isFinite(d3);
boolean b4 = Double.isFinite(d4);
System.out.println("Is d1 finite? " + b1);
System.out.println("Is d2 finite? " + b2);
System.out.println("Is d3 finite? " + b3);
System.out.println("Is d4 finite? " + b4);
}
}
Le code ci-dessus déclare quatre variables double d1, d2, d3 et d4 avec des valeurs finies, positive infinie, négative infinie et NaN respectivement. Ensuite, il utilise la méthode isFinite() pour vérifier si chacune des variables est finie ou non.
Compiler et exécuter le code Java
Compilez le code à l'aide de la commande suivante :
javac DoubleIsFiniteDemo.java
Après la compilation, vous pouvez exécuter le code à l'aide de la commande suivante :
java DoubleIsFiniteDemo
La sortie du programme devrait être :
Is d1 finite? true
Is d2 finite? false
Is d3 finite? false
Is d4 finite? false
Personnaliser le programme
Dans cette étape, vous pouvez personnaliser le programme pour tester différents valeurs. Ouvrez DoubleIsFiniteDemo.java dans votre éditeur de texte favori et modifiez les valeurs assignées aux variables double. Par exemple :
public class DoubleIsFiniteDemo {
public static void main(String[] args) {
double d1 = 1.23;
double d2 = 4.56;
double d3 = Double.NEGATIVE_INFINITY;
double d4 = Double.NaN;
boolean b1 = Double.isFinite(d1);
boolean b2 = Double.isFinite(d2);
boolean b3 = Double.isFinite(d3);
boolean b4 = Double.isFinite(d4);
if (b1) {
System.out.println("d1 est une valeur double finie.");
} else {
System.out.println("d1 n'est pas une valeur double finie.");
}
if (b2) {
System.out.println("d2 est une valeur double finie.");
} else {
System.out.println("d2 n'est pas une valeur double finie.");
}
if (b3) {
System.out.println("d3 est une valeur double finie.");
} else {
System.out.println("d3 n'est pas une valeur double finie.");
}
if (b4) {
System.out.println("d4 est une valeur double finie.");
} else {
System.out.println("d4 n'est pas une valeur double finie.");
}
}
}
Recompiler et exécuter le code Java
Compilez le code à nouveau à l'aide de la commande suivante :
javac DoubleIsFiniteDemo.java
Après la compilation, vous pouvez exécuter le programme personnalisé à l'aide de la commande suivante :
java DoubleIsFiniteDemo
Selon les valeurs que vous avez entrées, le programme affichera le résultat en conséquence.
Utiliser la méthode isFinite() dans une méthode définie par l'utilisateur
Dans cette étape, nous allons créer une méthode définie par l'utilisateur appelée printIsFinite() qui prend une valeur double en entrée et affiche si elle est finie ou non en utilisant la méthode isFinite().
Ajoutez la méthode suivante à l'intérieur de la classe DoubleIsFiniteDemo :
public static void printIsFinite(double d) {
if (Double.isFinite(d)) {
System.out.println(d + " est une valeur double finie.");
} else {
System.out.println(d + " n'est pas une valeur double finie.");
}
}
Ensuite, modifiez la méthode main() comme suit :
public static void main(String[] args) {
double d1 = 1.23;
double d2 = 4.56;
double d3 = Double.NEGATIVE_INFINITY;
double d4 = Double.NaN;
printIsFinite(d1);
printIsFinite(d2);
printIsFinite(d3);
printIsFinite(d4);
}
La méthode principale passe chacune des quatre variables double à la méthode printIsFinite(), qui vérifie ensuite si la valeur est finie ou non et affiche le résultat en conséquence.
Recompiler et exécuter le code Java
Compilez le code à nouveau à l'aide de la commande suivante :
javac DoubleIsFiniteDemo.java
Après la compilation, vous pouvez exécuter le programme à l'aide de la commande suivante :
java DoubleIsFiniteDemo
La sortie du programme devrait être :
1.23 est une valeur double finie.
4.56 est une valeur double finie.
-Infinity n'est pas une valeur double finie.
NaN n'est pas une valeur double finie.
Tester le code Java avec des valeurs limites
Dans cette étape, nous allons tester le code Java avec des valeurs limites pour voir comment fonctionne la méthode isFinite().
Modifiez la méthode main() comme suit :
public static void main(String[] args) {
double d1 = Double.MIN_VALUE;
double d2 = Double.MAX_VALUE;
double d3 = Double.POSITIVE_INFINITY;
double d4 = Double.NaN;
printIsFinite(d1);
printIsFinite(d2);
printIsFinite(d3);
printIsFinite(d4);
}
La méthode principale utilise les constantes MIN_VALUE et MAX_VALUE de la classe Double pour assigner respectivement les plus petites et les plus grandes valeurs doubles finies à d1 et d2, et attribue les valeurs d'infinité positive et de NaN à d3 et d4 respectivement.
Recompilez et exécutez le code Java à l'aide des commandes suivantes :
javac DoubleIsFiniteDemo.java
java DoubleIsFiniteDemo
La sortie du programme devrait être :
4.9E-324 est une valeur double finie.
1.7976931348623157E308 est une valeur double finie.
Infinity n'est pas une valeur double finie.
NaN n'est pas une valeur double finie.
Résumé
Dans ce laboratoire, vous avez appris à utiliser la méthode Java isFinite() pour vérifier si une valeur double est une valeur finie ou non. Vous avez également appris à personnaliser le programme pour tester différentes valeurs, à utiliser la méthode isFinite() dans une méthode définie par l'utilisateur et à tester le code Java avec des valeurs limites.



