Heim  >  Artikel  >  Java  >  Ersetzen Sie in Java negative und positive Zahlen in der Matrix durch 0 und 1

Ersetzen Sie in Java negative und positive Zahlen in der Matrix durch 0 und 1

王林
王林nach vorne
2023-08-29 08:29:081107Durchsuche

Ersetzen Sie in Java negative und positive Zahlen in der Matrix durch 0 und 1

In Java ist ein Array ein Objekt. Es handelt sich um einen nicht-primitiven Datentyp, der datenähnliche Werte speichert. Eine Matrix in Java ist nichts anderes als ein mehrdimensionales Array, das mehrere Zeilen und Spalten darstellt.

Hier erhalten wir eine Matrix, die eine Reihe von Elementen enthält, die positive und negative Zahlen umfassen, und gemäß der Problemstellung müssen wir negative Zahlen durch 0 und positive Zahlen durch 1 ersetzen.

Lassen Sie uns in diesen Artikel eintauchen und lernen, wie man es mit der Programmiersprache Java macht.

Zeigen Sie einige Beispiele

Beispiel 1

Gegebene Matrix =

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

Nachdem negative Zahlen durch 0 und positive Zahlen durch 1 ersetzt wurden,

Die resultierende Matrix ist –

0 	1	0
1	0	1
0	0	1

Beispiel 2

Gegebene Matrix =

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

Nachdem negative Zahlen durch 0 und positive Zahlen durch 1 ersetzt wurden,

Die resultierende Matrix ist –

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

Beispiel 3

Gegebene Matrix =

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

Nachdem negative Zahlen durch 0 und positive Zahlen durch 1 ersetzt wurden,

Die resultierende Matrix ist: -

0 	0	0
1	1	1
0	1	0

Algorithmus

Algorithmus 1

  • Schritt 1 – Erstellen Sie eine 2D-Array-Matrix zum Speichern der Zahlen.

  • Schritt 2 – Rufen Sie die Methode „replaceNum“ auf, um negative Zahlen in der Matrix durch 0 und positive Zahlen durch 1 zu ersetzen.

  • Schritt-3 – Drucken Sie die Ergebnismatrix aus.

  • Schritt 4 – Iterieren Sie in der Methode „replaceNum“ die Zeilen und Spalten der Matrix mithilfe einer for-Schleife.

  • Schritt 5 – Verwenden Sie für jedes Element in der Matrix den ternären Operator, um die Zahl durch 0 oder 1 zu ersetzen, je nachdem, ob es eine negative oder eine positive Zahl ist.

Algorithmus 2

  • Schritt 1 – Erstellen Sie eine 2D-Array-Matrix zum Speichern der Zahlen.

  • Schritt 2 – Rufen Sie die Methode „replaceNum“ auf, um negative Zahlen in der Matrix durch 0 und positive Zahlen durch 1 zu ersetzen.

  • Schritt-3 – Drucken Sie die Ergebnismatrix aus.

  • Schritt 4 – Iterieren Sie in der Methode „replaceNum“ die Zeilen und Spalten der Matrix mithilfe einer for-Schleife.

  • Schritt 5 – Verwenden Sie für jedes Element in der Matrix die Math.signum-Methode, um das Vorzeichen der Zahl zu bestimmen (-1 bedeutet negativ, 0 bedeutet 0, 1 bedeutet positiv). Verwenden Sie dann eine if-else-Anweisung, um die Zahl durch 0 oder 1 zu ersetzen, je nachdem, ob sie negativ oder positiv ist

Grammatik

Um die Länge eines Arrays (die Anzahl der Elemente in diesem Array) zu ermitteln, verfügen Arrays über eine integrierte Eigenschaft, nämlich length

Hier ist die Syntax –

array.length

Unter diesen bezieht sich „Array“ auf die Array-Referenz.

Die Methode Math.signum() in Java ist eine mathematische Funktion, die das Vorzeichen eines bestimmten Doppel- oder Gleitkommawerts zurückgibt (-1 für negative Zahlen, 0 für 0, 1 für positive Zahlen).

Hier ist die Syntax –

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

Wobei sich „mat“ auf die angegebene Matrix bezieht.

Mehrere Methoden

Wir bieten Lösungen auf unterschiedliche Weise.

  • Durch die Verwendung des ternären Operators

  • Durch Verwendung der Math.signum-Funktion

Schauen wir uns das Programm und seine Ausgabe einzeln an.

Methode 1: Verwenden Sie den ternären Operator

Bei dieser Methode werden die Matrixelemente im Programm initialisiert. Anschließend wird die benutzerdefinierte Methode aufgerufen, indem die Matrix als Argument übergeben wird und der ternäre Operator verwendet wird, um gemäß dem Algorithmus negative Zahlen durch 0 und positive Zahlen durch 1 zu ersetzen.

Beispiel

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;
         }
      }
   }
}

Ausgabe

0 1 0 
1 0 1 
1 1 0

Methode 2: Verwenden Sie die Math.signum-Funktion

Bei dieser Methode werden die Matrixelemente im Programm initialisiert. Die benutzerdefinierte Methode wird dann aufgerufen, indem die Matrix als Parameter übergeben wird und innerhalb der Methode mithilfe der Math.signum-Methode negative Zahlen durch 0 und positive Zahlen durch 1 gemäß dem Algorithmus ersetzt werden.

Beispiel

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;
            }
         }
      }
   }
}

Ausgabe

0 0 1 
1 0 0 
1 1 1

In diesem Artikel haben wir verschiedene Möglichkeiten untersucht, negative Zahlen durch 0 und positive Zahlen durch 1 in einer Matrix mithilfe der Programmiersprache Java zu ersetzen.

Das obige ist der detaillierte Inhalt vonErsetzen Sie in Java negative und positive Zahlen in der Matrix durch 0 und 1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen