JAVA OOP
181 subscribers
13 photos
2 videos
1 file
9 links
شرح + حل واجبات جميع الاقسام + امثله لاتنتهي + كوزرات
للتواصل او للارسال سؤالك @sz6ss_bot
المسؤول عن القناه @sz6ss
Download Telegram
JAVA OOP
Q5// Write a program to copy all of the elements of one dimensional array into another array. المطلوب بالسؤال كتابة برنامج يقوم بإنشاء مصفوفة أحادية البعد (array) من الأعداد الصحيحة (integer) بحجم يُدخله المستخدم. يتم نسخ محتويات هذه المصفوفة إلى مصفوفة…
Q7. Write a program to find the
frequency a specific number into int array.
السؤال 7: برنامج لإيجاد تكرار رقم معين في مصفوفة؟


import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("Enter the size : ");
int n = input.nextInt();

int[] arr = new int[n];

for (int i = 0; i < n; i++) {
System.out.print("Enter element " + (i + 1) + ": ");
arr[i] = input.nextInt();
}

System.out.print("Enter the number to find its frequency: ");
int num = input.nextInt();


int frequency = y(arr, num);
System.out.println("Frequency of " + num + " is: " + frequency);


}


public static int y(int[] arr, int num) {
int frequency = 0;
for (int value : arr) {
if (value == num) {
frequency++;
}
}
return frequency;
}
}
JAVA OOP
اول 13 سؤال بيهن كوز للقسم# الانظمه الطبيه
Q8. Write a program to find average of n element into int array except minimum
number.?
السؤال 8: برنامج لحساب المعدل باستثناء أصغر عنصر؟

import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("Enter the size : ");
int n = input.nextInt();

int[] arr = new int[n];


for (int i = 0; i < n; i++) {
System.out.print("Enter element " + (i + 1) + ": ");
arr[i] = input.nextInt();
}


double average = x(arr);
System.out.println("Average excluding the minimum element: " + average);

}


public static double x(int[] arr) {
int min = y(arr);
int sum = 0;

for (int value : arr) {
sum += value;
}

return (sum - min) / (double) (arr.length - 1);
}


public static int y(int[] arr) {
int min = arr[0];
for (int value : arr) {
if (value < min) {
min = value;
}
}
return min;
}
}
JAVA OOP
اول 13 سؤال بيهن كوز للقسم# الانظمه الطبيه
9.Write a program to find position of specific element into int array.?
السؤال 9: برنامج لإيجاد موقع عنصر معين في مصفوفة؟


import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("Enter the size :: ");
int n = input.nextInt();

int[] arr = new int[n];

for (int i = 0; i < n; i++) {
System.out.print("Enter element " + (i + 1) + ": ");
arr[i] = input.nextInt();
}

System.out.print("Enter the number to find its position: ");
int num = input.nextInt();

int position = x(arr, num);

if (position != -1) {
System.out.println("Position of " + num + " is: " + position);
} else {
System.out.println(num + " is not found in the array.");
}

}

public static int x(int[] arr, int num) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == num) {
return i;
}
}
return -1;
}
}
JAVA OOP
اول 13 سؤال بيهن كوز للقسم# الانظمه الطبيه
10. Write program to find value of Z (where x and y are one dimension array?

import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("Enter the size : ");
int n = input.nextInt();

int[] x = new int[n];
int[] y = new int[n];

System.out.println("Enter elements of array X:");
read (input, x);

System.out.println("Enter elements of array Y:");
read (input, y);

int Z = z(x, y);
System.out.println("Value of Z: " + Z);

}


public static void read (Scanner input, int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print("Enter element " + (i + 1) + ": ");
arr[i] = input.nextInt();
}
}


public static int z(int[] x, int[] y) {
int Z = 0;
for (int i = 0; i < x.length; i++) {
Z += x[i] * y[i];
}
return Z;
}
}

مامتاكد من الحل
JAVA OOP
اول 13 سؤال بيهن كوز للقسم# الانظمه الطبيه
Q13/
Write program find the position of min and max element in one dimension
array.
السؤال 13: برنامج لإيجاد مواقع أصغر وأكبر عنصر في المصفوفة

import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("Enter the size : ");
int n = input.nextInt();

int[] arr = new int[n];


System.out.println("Enter elements of the array:");
read (input, arr);

int minIndex = findMinIndex(arr);
int maxIndex = findMaxIndex(arr);

System.out.println("Minimum element is at index: " + minIndex);
System.out.println("Maximum element is at index: " + maxIndex);

}

public static void read (Scanner input, int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print("Enter element " + (i + 1) + ": ");
arr[i] = input.nextInt();
}
}

public static int findMinIndex(int[] arr) {
int minIndex = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}

public static int findMaxIndex(int[] arr) {
int maxIndex = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
}
تريد تنجح بمادة الجافا؟ 💻
تريد تصير مادة الـ OOP عدك لوز وتكتب الكود وانت مرتاح ومسيطر؟ 🚀

وصلت!

إذا مليت من كونك ما رابط مع أستاذ المادة 📚، والتراكمت عليك الواجبات وما جاي تنحل ولا جاي تجاوب بالكوزات؟ 😓

الحل عدنا

راح نقدملك كورس يحل كل مشاكلك الدراسية، وتدخل للفاينل وأنت مسيطر 💪


•ابدأ من الصفر: حتى لو كانت هاي أول مرة تفتح بيها لابتوب الكورس يبدي وياك من تحت الصفر، و راح يفصخلك الكود حرف حرف ! 🖥️



•تطبيق عملي بعد كل درس: المواضيع متسلسلة ويكون بعدها تطبيق مباشر،حتى الأفكار تترسخ عندك 🧠

•درجة كاملة بكل سهولة: هدفنا أن تتقن المادة لدرجة تخليك تاخذ درجة كاملة بالفاينل بكل سهولة

فـ شنو تنتظر؟
سجل ويانا واربح لغة جافا ومادة الـ OOP بجيبك! 🎯

للتواصل: @ImJustaBat


🔻جرب قبل ما تدفع: اشترك في الحلقات التجريبية مجانًا وتأكد بنفسك من أسلوب الشرح إذا كان يناسبك أو لا قبل الدفع

🔻 ضمان استرجاع المبلغ: في حال واجهتك أي مشاكل تقنية من طرفنا، نضمن لك استرجاع المبلغ بالكامل! 🛠️
👍1
JAVA OOP pinned «تريد تنجح بمادة الجافا؟ 💻 تريد تصير مادة الـ OOP عدك لوز وتكتب الكود وانت مرتاح ومسيطر؟ 🚀 وصلت! إذا مليت من كونك ما رابط مع أستاذ المادة 📚، والتراكمت عليك الواجبات وما جاي تنحل ولا جاي تجاوب بالكوزات؟ 😓 الحل عدنا راح نقدملك كورس يحل كل مشاكلك الدراسية،…»
اكتب برنامج لطباعة الجزء العلوي والجزء السفلي لمصفوفه ثنائيه واجراء ٥ عمليات على الجزء العلوي والجزء السفلي؟
JAVA OOP
اكتب برنامج لطباعة الجزء العلوي والجزء السفلي لمصفوفه ثنائيه واجراء ٥ عمليات على الجزء العلوي والجزء السفلي؟
import java.util.Scanner;

public class wo {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);


System.out.print("أدخل عدد الصفوف: ");
int rows = in.nextInt();
System.out.print("أدخل عدد الأعمدة: ");
int cols = in.nextInt();


int[][] matrix = new int[rows][cols];


System.out.println("أدخل عناصر المصفوفة:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.print("أدخل العنصر في الصف " + (i + 1) + " والعمود " + (j + 1) + ": ");
matrix[i][j] = in.nextInt();
}
}


wo(matrix);
in.close();
}

private static void wo(int[][] matrix) {
boolean b = true;
Scanner in = new Scanner(System.in);
while (b) {
printd2(matrix);
System.out.println("اختر الجزء:");
System.out.println("1. الجزء العلوي");
System.out.println("2. الجزء السفلي");
System.out.println("3. العودة إلى القائمة الرئيسية");

int partChoice = in.nextInt();

if (partChoice == 3) {
b = false;
continue;
}


int startRow, endRow;
if (partChoice == 1) {
startRow = 0;
endRow = (matrix.length + 1) / 2;
} else if (partChoice == 2) {
startRow = matrix.length / 2;
endRow = matrix.length;
} else {
System.out.println("اختر عددًا صحيحًا بين 1 و 3.");
continue;
}

while (true) {
printd2Range(matrix, startRow, endRow);
System.out.println("اختر عملية:");
System.out.println("1. sum");
System.out.println("2. avg");
System.out.println("3. max");
System.out.println("4. min");
System.out.println("5. reverse");
System.out.println("6. العودة إلى القائمة الرئيسية");

int operation = in.nextInt();

switch (operation) {
case 1:
System.out.println("sum = " + sumRange(matrix, startRow, endRow));
break;
case 2:
System.out.println("avg = " + averageRange(matrix, startRow, endRow));
break;
case 3:
System.out.println("max = " + maxRange(matrix, startRow, endRow));
break;
case 4:
System.out.println("min = " + minRange(matrix, startRow, endRow));
break;
case 5:
reverseMatrixRange(matrix, startRow, endRow);
break;
case 6:
b = false;
break;
default:
System.out.println("اختر عددًا بين 1 و 6.");
}
}
}
}

private static void printd2(int[][] matrix) {
System.out.println("المصفوفة الثنائية الأبعاد:");
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}

private static void printd2Range(int[][] matrix, int startRow, int endRow) {
System.out.println("الجزء المحدد من المصفوفة الثنائية الأبعاد:");
for (int i = startRow; i < endRow; i++) {
for (int num : matrix[i]) {
System.out.print(num + " ");
}
System.out.println();
}
}

private static int sumRange(int[][] matrix, int startRow, int endRow) {
int total = 0;
for (int i = startRow; i < endRow; i++) {
total += sum(matrix[i]);
}
return total;
}
JAVA OOP
اكتب برنامج لطباعة الجزء العلوي والجزء السفلي لمصفوفه ثنائيه واجراء ٥ عمليات على الجزء العلوي والجزء السفلي؟
private static double averageRange(int[][] matrix, int startRow, int endRow) {
return (double) sumRange(matrix, startRow, endRow) / ((endRow - startRow) * matrix[0].length);
}

private static int maxRange(int[][] matrix, int startRow, int endRow) {

int max = matrix[startRow][0];
for (int i = startRow; i < endRow; i++) {
for (int num : matrix[i]) {
if (num > max) {
max = num;
}
}
}
return max;
}

private static int minRange(int[][] matrix, int startRow, int endRow) {

int min = matrix[startRow][0];
for (int i = startRow; i < endRow; i++) {
for (int num : matrix[i]) {
if (num < min) {
min = num;
}
}
}
return min;
}

private static void reverseMatrixRange(int[][] matrix, int startRow, int endRow) {
for (int i = startRow; i < endRow; i++) {
reverseArray(matrix[i]);
}
System.out.println("المصفوفة بعد عكس الجزء المحدد:");
printd2Range(matrix, startRow, endRow);
}

private static void reverseArray(int[] array) {
int n = array.length;
for (int i = 0; i < n / 2; i++) {
int temp = array[i];
array[i] = array[n - i - 1];
array[n - i - 1] = temp;
}
}

private static int sum(int[] array) {
int total = 0;
for (int num : array) {
total += num;
}
return total;
}
}
سؤال المختبر القادم للهياكل /علوم صباحي
//
اكتب برنامج يقرء مصفوفه احاديه ومصفوفة ثنائيه ومصفوفه ثلاثيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 5 عمليات عليها ويبقى يطلب من المستخدم اجراء عمليات لحين طلب المستخدم الخروج من العمليات
🔥3
JAVA OOP
سؤال المختبر القادم للهياكل /علوم صباحي // اكتب برنامج يقرء مصفوفه احاديه ومصفوفة ثنائيه ومصفوفه ثلاثيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 5 عمليات عليها ويبقى يطلب من المستخدم اجراء عمليات لحين…
import java.util.Scanner;

public class hmd {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean exit = false;

while (!exit) {
System.out.println("اختر نوع المصفوفة: 1. أحادية 2. ثنائية 3. ثلاثية 4. خروج");
int choice = scanner.nextInt();

switch (choice) {
case 1:

System.out.println("أدخل عدد العناصر في المصفوفة الأحادية:");
int size = scanner.nextInt();
int[] array = new int[size];
System.out.println("أدخل العناصر:");
for (int i = 0; i < size; i++) {
array[i] = scanner.nextInt();
}
printArray(array);
arrayD1(array);
break;

case 2:

System.out.println("أدخل عدد الصفوف:");
int rows = scanner.nextInt();
System.out.println("أدخل عدد الأعمدة:");
int cols = scanner.nextInt();
int[][] matrix = new int[rows][cols];
System.out.println("أدخل العناصر:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = scanner.nextInt();
}
}
printArray(matrix);
arrayD2(matrix);
break;

case 3:

System.out.println("أدخل عدد الطبقات:");
int layers = scanner.nextInt();
System.out.println("أدخل عدد الصفوف:");
int threesRows = scanner.nextInt();
System.out.println("أدخل عدد الأعمدة:");
int threesCols = scanner.nextInt();
int[][][] threeDMatrix = new int[layers][threesRows][threesCols];
System.out.println("أدخل العناصر:");
for (int i = 0; i < layers; i++) {
for (int j = 0; j < threesRows; j++) {
for (int k = 0; k < threesCols; k++) {
threeDMatrix[i][j][k] = scanner.nextInt();
}
}
}
printArray(threeDMatrix);
arrayD3(threeDMatrix);
break;

case 4:
exit = true;
System.out.println("تم الخروج من البرنامج.");
break;

default:
System.out.println("اختيار غير صالح.");
}
}

scanner.close();
}

// العمليات على المصفوفة الأحادية
private static void arrayD1(int[] array) {
boolean backToMenu = false;
while (!backToMenu) {
printArray(array);
System.out.println("اختر عملية:");
System.out.println("1. حساب مجموع العناصر");
System.out.println("2. حساب متوسط العناصر");
System.out.println("3. العثور على أكبر عنصر");
System.out.println("4. العثور على أصغر عنصر");
System.out.println("5. عكس المصفوفة");
System.out.println("6. العودة إلى القائمة الرئيسية");

int operation = new Scanner(System.in).nextInt();
switch (operation) {
case 1:
System.out.println("مجموع العناصر: " + sum(array));
break;
case 2:
System.out.println("متوسط العناصر: " + average(array));
JAVA OOP
سؤال المختبر القادم للهياكل /علوم صباحي // اكتب برنامج يقرء مصفوفه احاديه ومصفوفة ثنائيه ومصفوفه ثلاثيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 5 عمليات عليها ويبقى يطلب من المستخدم اجراء عمليات لحين…
break;
case 3:
System.out.println("أكبر عنصر: " + max(array));
break;
case 4:
System.out.println("أصغر عنصر: " + min(array));
break;
case 5:
reverseArray(array);
break;
case 6:
backToMenu = true;
break;
default:
System.out.println("اختيار غير صالح!");
}
}
}

// العمليات على المصفوفة الثنائية
private static void arrayD2(int[][] matrix) {
boolean backToMenu = false;
while (!backToMenu) {
printArray(matrix);
System.out.println("اختر عملية:");
System.out.println("1. حساب مجموع العناصر");
System.out.println("2. حساب متوسط العناصر");
System.out.println("3. العثور على أكبر عنصر");
System.out.println("4. العثور على أصغر عنصر");
System.out.println("5. عكس المصفوفة");
System.out.println("6. العودة إلى القائمة الرئيسية");

int operation = new Scanner(System.in).nextInt();
switch (operation) {
case 1:
System.out.println("مجموع العناصر: " + sum(matrix));
break;
case 2:
System.out.println("متوسط العناصر: " + average(matrix));
break;
case 3:
System.out.println("أكبر عنصر: " + max(matrix));
break;
case 4:
System.out.println("أصغر عنصر: " + min(matrix));
break;
case 5:
reverseMatrix(matrix);
break;
case 6:
backToMenu = true;
break;
default:
System.out.println("اختيار غير صالح!");
}
}
}

// العمليات على المصفوفة الثلاثية
private static void arrayD3(int[][][] matrix) {
boolean backToMenu = false;
while (!backToMenu) {
printArray(matrix);
System.out.println("اختر عملية:");
System.out.println("1. حساب مجموع العناصر");
System.out.println("2. حساب متوسط العناصر");
System.out.println("3. العثور على أكبر عنصر");
System.out.println("4. العثور على أصغر عنصر");
System.out.println("5. عكس المصفوفة");
System.out.println("6. العودة إلى القائمة الرئيسية");

int operation = new Scanner(System.in).nextInt();
switch (operation) {
case 1:
System.out.println("مجموع العناصر: " + sum(matrix));
break;
case 2:
System.out.println("متوسط العناصر: " + average(matrix));
break;
case 3:
System.out.println("أكبر عنصر: " + max(matrix));
break;
case 4:
System.out.println("أصغر عنصر: " + min(matrix));
break;
case 5:
reverseMatrix(matrix);
break;
case 6:
backToMenu = true;
break;
default:
System.out.println("اختيار غير صالح!");
}
}
}

private static int sum(int[] array) {
int total = 0;
for (int i : array) total += i;
return total;
}

private static double average(int[] array) {
return (double) sum(array) / array.length;
}

private static int max(int[] array) {
int max = array[0];
for (int i : array) if (i > max) max = i;
return max;
}

private static int min(int[] array) {
int min = array[0];
for (int i : array) if (i < min) min = i;
return min;
}
JAVA OOP
سؤال المختبر القادم للهياكل /علوم صباحي // اكتب برنامج يقرء مصفوفه احاديه ومصفوفة ثنائيه ومصفوفه ثلاثيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 5 عمليات عليها ويبقى يطلب من المستخدم اجراء عمليات لحين…
private static int sum(int[][] matrix) {
int total = 0;
for (int[] row : matrix) total += sum(row);
return total;
}

private static double average(int[][] matrix) {
return (double) sum(matrix) / (matrix.length * matrix[0].length);
}

private static int max(int[][] matrix) {
int max = matrix[0][0];
for (int[] row : matrix) for (int i : row) if (i > max) max = i;
return max;
}

private static int min(int[][] matrix) {
int min = matrix[0][0];
for (int[] row : matrix) for (int i : row) if (i < min) min = i;
return min;
}

private static int sum(int[][][] matrix) {
int total = 0;
for (int[][] layer : matrix) total += sum(layer);
return total;
}

private static double average(int[][][] matrix) {
return (double) sum(matrix) / (matrix.length * matrix[0].length * matrix[0][0].length);
}

private static int max(int[][][] matrix) {
int max = matrix[0][0][0];
for (int[][] layer : matrix) for (int[] row : layer) for (int i : row) if (i > max) max = i;
return max;
}

private static int min(int[][][] matrix) {
int min = matrix[0][0][0];
for (int[][] layer : matrix) for (int[] row : layer) for (int i : row) if (i < min) min = i;
return min;
}

private static void reverseArray(int[] array) {
int n = array.length;
for (int i = 0; i < n / 2; i++) {
int temp = array[i];
array[i] = array[n - i - 1];
array[n - i - 1] = temp;
}
printArray(array);
}

private static void reverseMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
reverseArray(matrix[i]);
}
System.out.println("المصفوفة الثنائية بعد العكس:");
printArray(matrix);
}

private static void reverseMatrix(int[][][] matrix) {
for (int i = 0; i < matrix.length; i++) {
reverseMatrix(matrix[i]);
}
System.out.println("المصفوفة الثلاثية بعد العكس:");
printArray(matrix);
}

private static void printArray(int[] array) {
System.out.println("عناصر المصفوفة الأحادية:");
for (int i : array) {
System.out.print(i + " ");
}
System.out.println();
}

private static void printArray(int[][] matrix) {
System.out.println("عناصر المصفوفة الثنائية:");
for (int[] row : matrix) {
for (int j : row) {
System.out.print(j + " ");
}
System.out.println();
}
}

private static void printArray(int[][][] matrix) {
System.out.println("عناصر المصفوفة الثلاثية:");
for (int[][] layer : matrix) {
for (int[] row : layer) {
for (int i : row) {
System.out.print(i + " ");
}
System.out.println();
}
System.out.println("---");
}
}
}
نبدي نشرح.
.
.
OOP

.
.
3👍2
.
.

Method Overloading

.
.
تعدد (Overloading) هو ميزة في البرمجة تسمح بتعريف عدة دوال (Methods) أو بنائين (Constructors) بنفس الاسم ولكن بمعاملات مختلفة. بمعنى آخر، يمكن إنشاء دوال بنفس الاسم طالما كانت تملك عددًا مختلفًا من المعاملات أو أنواعًا مختلفة لها. يُحدد أي دالة سيتم استدعاؤها أثناء التنفيذ بناءً على نوع وعدد المعاملات المقدمة


مثال

لنلقِ نظرة على مثال بسيط لدالة إضافة باستخدام تعدد التحميل
public class MathOperations {
// دالة لإضافة عددين صحيحين
public int add(int a, int b) {
return a + b;
}

// دالة لإضافة ثلاثة أعداد صحيحة
public int add(int a, int b, int c) {
return a + b + c;
}

// دالة لإضافة عددين عشريين
public double add(double a, double b) {
return a + b;
}

public static void main(String[] args) {
MathOperations math = new MathOperations();

System.out.println("مجموع عددين صحيحين: " + math.add(5, 10)); // الناتج: 15
System.out.println("مجموع ثلاثة أعداد صحيحة: " + math.add(5, 10, 15)); // الناتج: 30
System.out.println("مجموع عددين عشريين: " + math.add(5.5, 10.5)); // الناتج: 16.0
}
}

في المثال أعلاه:
- تم تعريف ثلاث دوال add:
- الدالة الأولى تأخذ عددين صحيحين (int).
- الدالة الثانية تأخذ ثلاثة أعداد صحيحة (int).
- الدالة الثالثة تأخذ عددين عشريين (double).

عند استدعاء دالة add، يحدد المترجم أي دالة سيتم استدعاؤها بناءً على نوع وعدد المعاملات التي يتم تمريرها.


فوائد تعدد التحميل
- تسهيل قراءة الكود: حيث يمكن استخدام نفس الاسم للدوال المتشابهة في الوظيفة ولكن مع اختلاف المدخلات.
- إعادة الاستخدام: يسمح بتعريف طرق متعددة لاستخدام نفس الاسم بطريقة تسهل على المطور إعادة استخدام الكود في أماكن مختلفة.

##مثال على تعدد تحميل البنائين (Constructors)

يمكن أيضًا استخدام تعدد التحميل مع البنائين،
public class Person {
String name;
int age;

// البناء الافتراضي
public Person() {
this.name = "غير معروف";
this.age = 0;
}

// البناء بمعامل واحد (الاسم)
public Person(String name) {
this.name = name;
this.age = 0;
}

// البناء بمعاملين (الاسم والعمر)
public Person(String name, int age) {
this.name = name;
this.age = age;
}

public void display() {
System.out.println("الاسم: " + name + ", العمر: " + age);
}

public static void main(String[] args) {
Person person1 = new Person(); // استدعاء البناء الافتراضي
Person person2 = new Person("علي"); // استدعاء البناء بمعامل واحد
Person person3 = new Person("مريم", 25); // استدعاء البناء بمعاملين

person1.display(); // الاسم: غير معروف، العمر: 0
person2.display(); // الاسم: علي، العمر: 0
person3.display(); // الاسم: مريم، العمر: 25
}
}

في هذا المثال:
- تم تعريف ثلاثة بنائين لفئة Person:
- البناء الأول بدون معاملات (الافتراضي)، ويقوم بتعيين القيم الافتراضية للاسم والعمر.
- البناء الثاني يأخذ معاملًا واحدًا (الاسم)، ويضبط العمر كـ 0 افتراضيًا.
- البناء الثالث يأخذ معاملين (الاسم والعمر) ويضبطهما.

بهذه الطريقة، يمكن إنشاء كائنات من Person بطرق متعددة بناءً على المعلومات المتوفرة.