Rumah > Java > javaTutorial > 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

王林
Lepaskan: 2023-08-29 08:29:08
ke hadapan
1155 orang telah melayarinya

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
Salin selepas log masuk

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

Matriks yang terhasil ialah -

0 	1	0
1	0	1
0	0	1
Salin selepas log masuk

Contoh 2

Diberi matriks =

-9 	2	-2	4
-1	-7	-2	6
2	-2	-4	3
-1	4	7	-8
Salin selepas log masuk

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
Salin selepas log masuk

Contoh 3

Diberi matriks =

-1 	-2	-3
4	5	6
-7	8	-9
Salin selepas log masuk

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

Matriks yang terhasil ialah: -

0 	0	0
1	1	1
0	1	0
Salin selepas log masuk

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
Salin selepas log masuk

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)
Salin selepas log masuk

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;
         }
      }
   }
}
Salin selepas log masuk

Output

0 1 0 
1 0 1 
1 1 0
Salin selepas log masuk

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;
            }
         }
      }
   }
}
Salin selepas log masuk

Output

0 0 1 
1 0 0 
1 1 1
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan