جاوا ۾ هڪ Matrix / 2D Array ڇا آهي؟
"ميٽرڪس انگن جو هڪ مجموعو آهي جيڪو قطار ۽ ڪالمن جي مقرر ڪيل تعداد ۾ ترتيب ڏنل آهي." عام طور تي اهي حقيقي انگ آهن. عام طور تي، ميٽرڪس پيچيده نمبرن تي مشتمل ٿي سگھي ٿو پر سادگي جي خاطر اسان هتي صرف مڪمل انگ استعمال ڪنداسين. اچو ته هڪ نظر رکون ته هڪ ميٽرڪس ڪيئن نظر اچي ٿو. هتي 4 قطارن ۽ 4 ڪالمن سان ميٽرڪس جو هڪ مثال آهي.اعلان ڪريو ۽ 2D صف شروع ڪريو
هتي ڪجھ مختلف طريقا آهن يا ته صرف صف جي سائيز جو اعلان ڪرڻ، يا ان کي شروع ڪرڻ کان سواءِ سائيز جو ذڪر ڪرڻ.public class Matrices {
public static void main(String[] args) {
// declare & initialize 2D arrays for int and string
int[][] matrix1 = new int[2][2];
int matrix2[][] = new int[2][3];
//the size of matrix3 will be 4x4
int[][] matrix3 = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
String[][] matrix4 = new String[2][2];
//the size of matrix5 will be 2x3
// 3 cols because at max there are 3 columns
String[][] matrix5 = { { "a", "lion", "meo" },
{ "jaguar", "hunt" } };
}
}
2D Array Traversal
اسان سڀ ڄاڻون ٿا ته جاوا ۾ باقاعده صفن کي ڪيئن وڌايو وڃي. 2D arrays لاءِ اهو به مشڪل ناهي. اسان عام طور تي استعمال ڪندا آهيون nested 'for' loops ان لاءِ. ڪجھ شروعات ڪندڙ شايد ان کي ڪجھ اجنبي تصور سمجھن ٿا، پر جيترو جلدي توھان ان ۾ گھيرو ڪندا توھان ان کي ڪجھ مشق سان لاڳو ڪرڻ جي قابل ٿي ويندا. هيٺ ڏنل ٽڪرا تي هڪ نظر وٺو. اهو صرف توهان جي مڪمل سمجھڻ لاء هر قطار سان لاڳاپيل ڪالمن جو تعداد ڏيکاري ٿو.public class MatrixTraversal {
public static void main(String[] args) {
int[][] matrix = new int[4][4];
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
System.out.print("row " + i + " : ");
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns # of columns corresponding to current row
System.out.print("col " + j + " ");
}
System.out.println();
}
}
}
پيداوار
قطار 0 : ڪرنل 0 ڪرنل 1 ڪرنل 2 ڪرنل 3 قطار 1 : ڪرنل 0 ڪرنل 1 ڪرل 2 ڪرنل 3 قطار 2 : ڪرنل 0 ڪرنل 1 ڪرنل 2 ڪرنل 3 قطار 3
جاوا ۾ 2D سري ڪيئن پرنٽ ڪجي؟
2D Array traversal سان واقف ٿيڻ کان پوء، اچو ته جاوا ۾ 2D Arrays کي ڇپائڻ جا ڪجھ طريقا ڏسو.Nested "for" لوپ استعمال ڪندي
هي جاوا ۾ ميٽرڪس کي پرنٽ ڪرڻ جو بنيادي طريقو آهي.public class MatrixTraversal {
public static void printMatrix(int matrix[][])
{
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns number of columns corresponding to current row
// using tabs for equal spaces, looks better aligned
// matrix[i][j] will return each element placed at row ‘i',column 'j'
System.out.print( matrix[i][j] + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
پيداوار
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15
"هر هڪ لاء" لوپ استعمال ڪندي
ھتي جاوا ۾ پرنٽ ڪرڻ جو ھڪڙو ٻيو طريقو آھي " فوريچ لوپ " استعمال ڪندي. هي هڪ خاص قسم جو لوپ آهي جيڪو جاوا طرفان مهيا ڪيو ويو آهي، جتي int[]roow هر قطار ذريعي ميٽرڪس ۾ لوپ ڪندو. جڏهن ته، متغير "عنصر" هر عنصر تي مشتمل هوندو جيڪو قطار ذريعي ڪالمن انڊيڪس تي رکيل آهي.public class MatrixTraversal {
public static void printMatrix(int matrix[][]){
for (int [] row : matrix)
{
// traverses through number of rows
for (int element : row)
{
// 'element' has current element of row index
System.out.print( element + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
پيداوار
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15
استعمال ڪندي "Arays.toString()" طريقو
جاوا ۾ Arrays.toString() طريقو، هر پيٽرولر کي تبديل ڪري ٿو ان کي ھڪڙي صف جي طور تي ۽ ان کي پرنٽ ڪرڻ لاء ان جي تعمير ٿيل طريقي کي استعمال ڪري ٿو. اسان ٺاھيو آھي ھڪڙو ڊمي اسٽرنگ 2D صف جي چوڌاري کيڏڻ لاءِ. ساڳيو طريقو انٽيجر صفن لاءِ پڻ ڪم ڪري ٿو. اسان توهان کي حوصلا افزائي ڪريون ٿا ته ان کي توهان جي مشق لاء مشق ڏيو.import java.util.Arrays;
public class MatrixTraversal {
public static void printMatrix(String matrix[][]){
for (String[] row : matrix) {
// convert each row to a String before printing
System.out.println(Arrays.toString(row));
}
}
public static void main(String[] args) {
String [][] matrix = { { "Hi, I am Karen" },
{ "I'm new to Java"},
{ "I love swimming" },
{ "sometimes I play keyboard"} };
printMatrix(matrix);
}
}
پيداوار
[هاءِ، مان ڪيرن آهيان] [مان جاوا ۾ نئون آهيان] [مون کي ترڻ پسند آهي] [ڪڏهن ڪڏهن مان ڪي بورڊ هلائيندو آهيان]
GO TO FULL VERSION