Rumah  >  Artikel  >  Java  >  Gantikan nombor negatif dan positif dalam matriks dengan 0 dan 1 dalam Java

Gantikan nombor negatif dan positif dalam matriks dengan 0 dan 1 dalam Java

王林
王林ke hadapan
2023-08-29 08:29:081108semak imbas

Gantikan nombor negatif dan positif dalam matriks dengan 0 dan 1 dalam Java

Di Jawa, tatasusunan ialah objek. Ia ialah jenis data bukan primitif yang menyimpan nilai seperti data. Matriks dalam java hanyalah tatasusunan berbilang dimensi yang mewakili berbilang baris dan lajur.

Di sini kita diberikan matriks yang mengandungi satu set elemen yang merangkumi nombor positif dan negatif dan mengikut pernyataan masalah kita perlu menggantikan nombor negatif dengan 0 dan nombor positif dengan 1.

Mari kita mendalami artikel ini dan pelajari cara melakukannya menggunakan bahasa pengaturcaraan Java.

Tunjukkan kepada anda beberapa contoh

Contoh 1

Diberi matriks =

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

Selepas menggantikan nombor negatif dengan 0 dan nombor positif dengan 1,

Matriks yang terhasil ialah -

0 	1	0
1	0	1
0	0	1

Contoh 2

Diberi matriks =

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

Selepas menggantikan nombor negatif dengan 0 dan nombor positif dengan 1,

Matriks yang terhasil ialah -

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

Contoh 3

Diberi matriks =

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

Selepas menggantikan nombor negatif dengan 0 dan nombor positif dengan 1,

Matriks yang terhasil ialah: -

0 	0	0
1	1	1
0	1	0

Algoritma

Algoritma 1

  • Langkah 1 - Buat matriks tatasusunan 2D untuk menyimpan nombor.

  • Langkah-2 - Panggil kaedah replaceNum untuk menggantikan nombor negatif dalam matriks dengan 0 dan nombor positif dengan 1.

  • Langkah-3 - Cetak matriks keputusan.

  • Langkah-4 - Dalam kaedah replaceNum, ulangi baris dan lajur matriks menggunakan gelung for.

  • Langkah-5 - Untuk setiap elemen dalam matriks, gunakan operator ternary untuk menggantikan nombor dengan 0 atau 1, bergantung pada sama ada ia adalah nombor negatif atau positif.

Algoritma 2

  • Langkah 1 - Buat matriks tatasusunan 2D untuk menyimpan nombor.

  • Langkah-2 - Panggil kaedah replaceNum untuk menggantikan nombor negatif dalam matriks dengan 0 dan nombor positif dengan 1.

  • Langkah-3 - Cetak matriks keputusan.

  • Langkah-4 - Dalam kaedah replaceNum, ulangi baris dan lajur matriks menggunakan gelung for.

  • Langkah-5 - Untuk setiap elemen dalam matriks, tentukan tanda nombor menggunakan kaedah Math.signum (-1 untuk negatif, 0 untuk 0, 1 untuk positif). Kemudian gunakan pernyataan if-else untuk menggantikan nombor dengan 0 atau 1 bergantung kepada sama ada ia negatif atau positif

Tatabahasa

Untuk mendapatkan panjang tatasusunan (bilangan elemen dalam tatasusunan itu), tatasusunan mempunyai sifat terbina dalam, iaitu panjang

Berikut ialah sintaksnya -

array.length

Antaranya, "array" merujuk kepada rujukan array.

Kaedah Math.signum() dalam Java ialah fungsi matematik yang mengembalikan tanda nilai berganda atau titik terapung yang diberikan (-1 untuk nombor negatif, 0 untuk 0, 1 untuk nombor positif).

Berikut ialah sintaksnya -

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

Di mana, 'mat' merujuk kepada matriks yang diberikan.

Pelbagai kaedah

Kami menyediakan penyelesaian dengan cara yang berbeza.

  • Dengan menggunakan operator ternary

  • Dengan menggunakan fungsi Math.signum

Mari kita lihat program dan outputnya satu persatu.

Kaedah 1: Gunakan operator ternary

Dalam kaedah ini, elemen matriks akan dimulakan dalam atur cara. Kaedah yang ditentukan pengguna kemudiannya dipanggil dengan menghantar matriks sebagai hujah dan menggunakan operator ternary untuk menggantikan nombor negatif dengan 0 dan nombor positif dengan 1 mengikut algoritma.

Contoh

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

Output

0 1 0 
1 0 1 
1 1 0

Kaedah 2: Gunakan fungsi Math.signum

Dalam kaedah ini, elemen matriks akan dimulakan dalam atur cara. Kaedah yang ditentukan pengguna kemudiannya dipanggil dengan menghantar matriks sebagai parameter dan di dalam kaedah menggunakan kaedah Math.signum, nombor negatif digantikan dengan 0 dan nombor positif digantikan dengan 1 mengikut algoritma.

Contoh

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

Output

0 0 1 
1 0 0 
1 1 1

Dalam artikel ini, kami meneroka cara yang berbeza untuk menggantikan nombor negatif dengan 0 dan nombor positif dengan 1 dalam matriks menggunakan bahasa pengaturcaraan Java.

Atas ialah kandungan terperinci Gantikan nombor negatif dan positif dalam matriks dengan 0 dan 1 dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam