Maison  >  Article  >  Java  >  Remplacer les nombres négatifs et positifs dans la matrice par 0 et 1 en Java

Remplacer les nombres négatifs et positifs dans la matrice par 0 et 1 en Java

王林
王林avant
2023-08-29 08:29:081108parcourir

Remplacer les nombres négatifs et positifs dans la matrice par 0 et 1 en Java

En Java, un tableau est un objet. Il s'agit d'un type de données non primitif qui stocke des valeurs semblables à des données. Une matrice en Java n'est rien d'autre qu'un tableau multidimensionnel représentant plusieurs lignes et colonnes.

Ici, nous recevons une matrice qui contient un ensemble d'éléments comprenant des nombres positifs et négatifs et, conformément à l'énoncé du problème, nous devons remplacer les nombres négatifs par 0 et les nombres positifs par 1.

Plongeons dans cet article et apprenons comment le faire en utilisant le langage de programmation Java.

Montrez quelques exemples

Exemple 1

Matrice donnée =

-21 	22	-23
24	-25	26
-27	-28	29

Après avoir remplacé les nombres négatifs par 0 et les nombres positifs par 1,

La matrice résultante est -

0 	1	0
1	0	1
0	0	1

Exemple 2

Matrice donnée =

-9 	2	-2	4
-1	-7	-2	6
2	-2	-4	3
-1	4	7	-8

Après avoir remplacé les nombres négatifs par 0 et les nombres positifs par 1,

La matrice résultante est -

0 	1	0	1
0	0	0	1
1	0	0	1
0	1	1	0

Exemple 3

Matrice donnée =

-1 	-2	-3
4	5	6
-7	8	-9

Après avoir remplacé les nombres négatifs par 0 et les nombres positifs par 1,

La matrice résultante est : -

0 	0	0
1	1	1
0	1	0

Algorithme

Algorithme 1

  • Étape 1 - Créez une matrice de tableau 2D pour stocker les nombres.

  • Étape 2 - Appelez la méthode replaceNum pour remplacer les nombres négatifs dans la matrice par 0 et les nombres positifs par 1.

  • Étape 3 - Imprimez la matrice de résultats.

  • Étape 4 - Dans la méthode replaceNum, parcourez les lignes et les colonnes de la matrice à l'aide d'une boucle for.

  • Étape 5 - Pour chaque élément de la matrice, utilisez l'opérateur ternaire pour remplacer le nombre par 0 ou 1, selon qu'il s'agit d'un nombre négatif ou positif.

Algorithme 2

  • Étape 1 - Créez une matrice de tableau 2D pour stocker les nombres.

  • Étape 2 - Appelez la méthode replaceNum pour remplacer les nombres négatifs dans la matrice par 0 et les nombres positifs par 1.

  • Étape 3 - Imprimez la matrice de résultats.

  • Étape 4 - Dans la méthode replaceNum, parcourez les lignes et les colonnes de la matrice à l'aide d'une boucle for.

  • Étape 5 - Pour chaque élément de la matrice, utilisez la méthode Math.signum pour déterminer le signe du nombre (-1 signifie négatif, 0 signifie 0, 1 signifie positif). Utilisez ensuite une instruction if-else pour remplacer le nombre par 0 ou 1 selon qu'il est négatif ou positif

Grammaire

Pour obtenir la longueur d'un tableau (le nombre d'éléments dans ce tableau), les tableaux ont une propriété intégrée, qui est length

Voici sa syntaxe -

array.length

Parmi eux, « array » fait référence à la référence du tableau.

La méthode Math.signum() en Java est une fonction mathématique qui renvoie le signe d'une valeur donnée double ou à virgule flottante (-1 pour les nombres négatifs, 0 pour 0, 1 pour les nombres positifs).

Voici sa syntaxe -

Math.signum(mat[a][b]) == -1.0)

Où « mat » fait référence à la matrice donnée.

Plusieurs méthodes

Nous proposons des solutions de différentes manières.

  • En utilisant l'opérateur ternaire

  • En utilisant la fonction Math.signum

Regardons le programme et sa sortie un par un.

Méthode 1 : Utiliser l'opérateur ternaire

Dans cette méthode, les éléments de la matrice seront initialisés dans le programme. La méthode définie par l'utilisateur est ensuite appelée en passant la matrice en argument et utilise l'opérateur ternaire pour remplacer les nombres négatifs par 0 et les nombres positifs par 1 selon l'algorithme.

Exemple

public class Main {
   public static void main(String[] args) {
      int[][] inputMatrix = {{-1, 2, -3},
         {4, -5, 6},
         {7, 8, -9}};
      
      // Call the User-defined method to replace negative and positive numbers
      replacenum(inputMatrix);
      
      // Print the resultant matrix
      for (int a = 0; a < inputMatrix.length; a++) {
         for (int b = 0; b < inputMatrix[a].length; b++) {
            System.out.print(inputMatrix[a][b] + " ");
         }
         System.out.println();
      }
   }
   
   // User-defined method to replace numbers 
   public static void replacenum(int[][] mat) {
      for (int a = 0; a < mat.length; a++) {
         for (int b = 0; b < mat[a].length; b++) {
            
            // Use a ternary operator to replace the number
            mat[a][b] = mat[a][b] < 0 ? 0 : 1;
         }
      }
   }
}

Sortie

0 1 0 
1 0 1 
1 1 0

Méthode 2 : Utiliser la fonction Math.signum

Dans cette méthode, les éléments de la matrice seront initialisés dans le programme. La méthode définie par l'utilisateur est ensuite appelée en passant la matrice en paramètre et à l'intérieur de la méthode utilisant la méthode Math.signum, les nombres négatifs sont remplacés par 0 et les nombres positifs sont remplacés par 1 selon l'algorithme.

Exemple

public class Main {
   public static void main(String[] args) {
      int[][] inputMatrix = {{-1, -2, 3},
         {4, -5, -6},
         {7, 8, 9}};
      
      // Call the User-defined method to replace negative and positive numbers
      replaceNum(inputMatrix);
      
      // Print the resultant matrix
      for (int a = 0; a < inputMatrix.length; a++) {
         for (int b = 0; b < inputMatrix[a].length; b++) {
            System.out.print(inputMatrix[a][b] + " ");
         }
         System.out.println();
      }
   }
   
   // User-defined method to replace numbers 
   public static void replaceNum(int[][] mat) {
      for (int a = 0; a < mat.length; a++) {
         for (int b = 0; b < mat[a].length; b++) {
            
            // Use an if-else statement with Math.signum method to replace the number
            if (Math.signum(mat[a][b]) == -1.0) {
               mat[a][b] = 0;
            } else {
               mat[a][b] = 1;
            }
         }
      }
   }
}

Sortie

0 0 1 
1 0 0 
1 1 1

Dans cet article, nous avons exploré différentes façons de remplacer les nombres négatifs par 0 et les nombres positifs par 1 dans une matrice à l'aide du langage de programmation Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer