Méthode compareUnsigned() de l'entier Java

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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émentez 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.

Compilez et exécutez 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

Testez 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

Modifiez 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.

Compilez et exécutez 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écapitulatif

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.