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.
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
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
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
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.
< /里>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
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.
Kami menyediakan penyelesaian dengan cara yang berbeza.
Dengan menggunakan operator ternary
Dengan menggunakan fungsi Math.signum
Mari kita lihat program dan outputnya satu persatu.
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.
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; } } } }
0 1 0 1 0 1 1 1 0
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.
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; } } } } }
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!