Introduction
La méthode compareUnsigned() de la classe Integer est utilisée pour comparer la valeur non signée de deux entiers afin de déterminer laquelle est supérieure à l'autre. La méthode renvoie 0 si les valeurs non signées des deux entiers sont égales. Elle renvoie 1 si la valeur non signée du premier entier est supérieure au second. Elle renvoie -1 si la valeur non signée du premier entier est inférieure au second.
Créer un fichier de classe Java
Dans le terminal, créez un nouveau répertoire pour votre projet Java. Par exemple :
mkdir project
Accédez au répertoire du projet :
cd project
Créez un nouveau fichier de classe Java nommé IntegerCompareUnsigned.java :
touch IntegerCompareUnsigned.java
Implémenter le code
Copiez et collez le code suivant dans le fichier IntegerCompareUnsigned.java :
import java.lang.Integer;
import java.util.Scanner;
public class IntegerCompareUnsigned {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Entrez le premier et le second nombre : ");
// Prendre l'entrée de l'utilisateur
try {
int n1 = sc.nextInt();
int n2 = sc.nextInt();
// Appeler la méthode compareUnsigned()
int r = Integer.compareUnsigned(n1, n2);
// Vérifier le résultat
if(r > 0) {
System.out.println("Le premier nombre est plus grand");
}
else if(r < 0) {
System.out.println("Le second nombre est plus grand");
}
else {
System.out.println("Les deux nombres sont égaux");
}
}
catch(Exception e) {
System.out.println("Entrée invalide!");
}
}
}
Enregistrez le fichier et quittez-le.
Ce programme prend deux entiers saisis par l'utilisateur et utilise la méthode compareUnsigned() pour comparer leurs valeurs non signées. Il affiche ensuite si le premier nombre est supérieur au second, le second nombre est supérieur au premier ou les nombres sont égaux.
Compiler et exécuter le programme
Compilez le programme à l'aide de la commande suivante :
javac IntegerCompareUnsigned.java
Exécutez le programme à l'aide de la commande suivante :
java IntegerCompareUnsigned
Vous devriez voir l'invite suivante :
Entrez le premier et le second nombre :
Entrez deux nombres - l'un supérieur à 2147483647 et l'autre inférieur ou égal à 2147483647. C'est parce que le type de données int Java ne peut stocker que des valeurs signées de 32 bits - de -2147483648 à 2147483647. Si vous entrez un nombre supérieur à 2147483647, un message d'erreur sera affiché.
Le programme s'exécutera et vous devriez voir la sortie suivante :
Le premier nombre est plus grand
Tester le programme avec différentes valeurs
Vous pouvez tester le programme avec différentes valeurs et voir la sortie.
Essayez d'exécuter le programme avec les entrées suivantes :
Entrez le premier et le second nombre : -10 20
Entrez le premier et le second nombre : 500000000 -200000000
Entrez le premier et le second nombre : 0 0
Modifier le programme
Modifiez le programme pour prendre deux entiers en tant qu'arguments de ligne de commande au lieu de les lire à partir de l'utilisateur au moment de l'exécution.
Copiez et collez le code suivant dans le fichier IntegerCompareUnsigned.java :
import java.lang.Integer;
public class IntegerCompareUnsigned {
public static void main(String[] args) {
// Vérifier si le nombre correct d'arguments est fourni
if(args.length!= 2) {
System.out.println("Veuillez fournir deux arguments entiers!");
return;
}
// Analyser les arguments en tant qu'entiers
int n1 = Integer.parseInt(args[0]);
int n2 = Integer.parseInt(args[1]);
// Appeler la méthode compareUnsigned()
int r = Integer.compareUnsigned(n1, n2);
// Vérifier le résultat
if(r > 0) {
System.out.println(n1 + " est supérieur à " + n2);
}
else if(r < 0) {
System.out.println(n2 + " est supérieur à " + n1);
}
else {
System.out.println(n1 + " et " + n2 + " sont égaux");
}
}
}
Enregistrez le fichier et quittez-le.
Compiler et exécuter le programme modifié
Compilez le programme modifié à l'aide de la commande suivante :
javac IntegerCompareUnsigned.java
Exécutez le programme modifié à l'aide de la commande suivante :
java IntegerCompareUnsigned 3000000000 200000000
Vous devriez voir la sortie suivante :
3000000000 est supérieur à 200000000
Modifiez le programme pour le tester avec différentes entrées.
Résumé
Dans ce laboratoire, vous avez appris à utiliser la méthode compareUnsigned() de la classe Integer pour comparer la valeur non signée de deux entiers afin de déterminer lequel est supérieur à l'autre. Vous avez également appris à modifier le programme pour prendre deux entiers en tant qu'arguments de ligne de commande au lieu de les lire à partir de l'utilisateur au moment de l'exécution.



