JAVA OOP
181 subscribers
13 photos
2 videos
1 file
9 links
شرح + حل واجبات جميع الاقسام + امثله لاتنتهي + كوزرات
للتواصل او للارسال سؤالك @sz6ss_bot
المسؤول عن القناه @sz6ss
Download Telegram
اكتب برنامج يقراء عدد صحيح ويقوم بطباعه مضروب العدد؟ 
بستخدام for

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter an integer number: ");
int n = in.nextInt();
int f = 1;

for (int i = 1; i <= n; i++) {
f *= i;
}

System.out.println("Factorial of " + n + " is " + f);
}
}
طباعه جدول الضرب لعدد ما؟
بستخدام for

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter any number: ");
int x = in.nextInt();

for (int i = 1; i <= 10; ++i) {
System.out.println(x + " * " + i + " = " + x * i);
}


}
}
اكتب برنامج يقرا العدد ويختبر العدد اذا كان اولي او لا؟ 
بستخدام for

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
boolean isPrime = true;
for (int i = 2; i < a; i++) {
if (a % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println("prime");
} else {
System.out.println("not prime");
}
}
}
اكتب برنامج يقرا 5 اعداد ويطبع اذا كان العدد  فردي او زوجي؟
بستخدام for

*
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; ++i) {
if (i % 2 == 0) {
System.out.println(i + " is an even number.");
} else {
System.out.println(i + " is an odd number.");
}
}
}
}
الفانكشن او الميثود
الفانكشن هي مجموعة من التعليمات التي تنفذ عملية معينة ويمكن استدعائها في أي مكان في الكود. هنا مثال بسيط

public class Main {
// تعريف الفانكشن ونعطي اسم للفانشكن مثل hmd
public static void hmd() {
System.out.println("Hello, hmd!");
}

public static void main(String[] args) {
// استدعاء الفانكشن
hmd();
}
}

في المثال هذا ، عرفنا فانكشن باسم hmd التي تطبع "Hello, hmd" على الشاشة. في الفانكشن main، قمنا باستدعاء الفانكشن hmd لطباعة الرسالة.

مثال آخر :

public class Main {
// تعريف الفانكشن
public static void names(String name) {
System.out.println("Hello, " + name + );
}

public static void main(String[ ] args) {
// استدعاء الفانكشن مع تمرير اسم
names("hmd");
names("mohammed ");
}
}

هنا، عرفنا فانكشن باسم names تأخذ معاملة name وتطبع رسالة ترحيبية بها. في الفانكشن main، استدعينا الفانكشن names مع تمرير أسماء مختلفة.
1. مثال على فانكشن تجمع عددين:
public class Main {
// تعريف الفانكشن ا
public static int addNum(int num1, int num2) {
return num1 + num2;
}
public static void main(String[] args) {
// استدعاء الفانكشن
int result = addNum(5, 10);
System.out.println("The sum = " + result);
}
}

هنا، عرفنا فانكشن باسم. addnum تأخذ عددين كمدخلات وتعيد مجموعهما. بعدين، استدعينا الفانكشن في main وعرضنا النتيجة.
امثله اضافيه
-دالة تحقق من عدد اذا كان زوجي او فردي
import java.util.Scanner;

public class EvenOrOdd {
public static String evenOrOdd(int x) {
return (x % 2 == 0) ? "even" : "odd";
}

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the number: ");
int x = scanner.nextInt();
System.out.println(evenOrOdd(x));
}
}

2-دالة التحقق من عدد اذا كان موجب او سالب
import java.util.Scanner;

public class CheckPositiveNegative {
public static String check(int a) {
return (a >= 0) ? "positive" : "negative";
}

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the number: ");
int x = scanner.nextInt();
System.out.println(check(x));
}
}

3-دالة تبديل swap
import java.util.Scanner;

public class SwapNumbers {
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
System.out.println("After swapping\na = " + a + "\nb = " + b);
}

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a: ");
int a = scanner.nextInt();
System.out.print("Enter b: ");
int b = scanner.nextInt();
swap(a, b);
}
}

_داله ايجاد الرقم الاكبر بين n من الارقام
import java.util.Scanner;

public class MaximumNumber {
public static int maximum(int n, int firstNumber) {
Scanner scanner = new Scanner(System.in);
int max = firstNumber;

for (int i = 1; i < n; i++) {
int x = scanner.nextInt();
if (x > max) {
max = x;
}
}
return max;
}

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

System.out.println("How many numbers do you want the maximum number among them?");
int n = scanner.nextInt();

System.out.println("Enter the values:");
int firstNumber = scanner.nextInt();

int max = maximum(n, firstNumber);
System.out.println("The max = " + max);
}
}

دالة حساب مجموع و معدل لn من الدرجات

import java.util.Scanner;

public class GradesCalculator {
public static float sum(int n) {
Scanner scanner = new Scanner(System.in);
float sum = 0;
System.out.println("Enter the marks:");
for (int i = 0; i < n; i++) {
float a = scanner.nextFloat();
sum += a;
}
return sum;
}

public static float average(float sum, int n) {
return sum / n;
}

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

System.out.print("Enter the number of marks: ");
int n = scanner.nextInt();

float totalSum = sum(n);
float avg = average(totalSum, n);

System.out.println("Sum = " + totalSum);
System.out.println("Average = " + avg);
}
}
1
. 
.
.
return
.
.
.

استخدام return يعيد قيمة من الفانكشن إلى المكان الذي تم استدعاؤه منه. نستخدم return عندما نحتاج إلى إعادة نتيجة معينة من الفانكشن بعد تنفيذ بعض العمليات. خلينا نستعرض بعض الأمثلة لشرح متى وكيف نستخدم return:

🌿مثال 1: تجمع عددين وتعيد الناتج
public class Main {
public static void main(String[] args) {
int sum = add(5, 10);
System.out.println(" sum : " + sum);
}

public static int add(int a, int b) {
return a + b;
// تعيد مجموع العددين
}
}

هنا، الفانكشن add تأخذ عددين كمدخلات وتعيد ناتج جمعهما باستخدام return.

🌿🌿 مثال 2: فانكشن تتحقق من عدد زوجي
public class Main {
public static void main(String[] args) {
boolean isEven = checkEven(4);
System.out.println("Is the number even? " + isEven);
}

public static boolean checkEven(int number) {
return number % 2 == 0; // تعيد true إذا كان العدد زوجي و false إذا لم يكن كذلك
}
}

هنا، الفانكشن checkEven تتحقق إذا كان العدد زوجي وتعيد true إذا كان كذلك، وfalse إذا لم يكن كذلك.






🌿🌿🌿🌿متى لا نحتاج لاستخدام return
إذا كانت الفانكشن لا تحتاج إلى إعادة قيمة، يمكننا استخدام النوع void. مثال على ذلك:

public class Main {
public static void main(String[] args) {
printHello();
}

public static void printHello() {
System.out.println("Hello, World!"); // لا تعيد أي قيمة
}
}

هنا، الفانكشن printHello لا تعيد أي قيمة ولذلك نستخدم النوع void.

🌿مثال ثاني
داله تبديل رقمين
import java.util.Scanner;

public class Main {
// تعريف الفانكشن لتبادل قيمتين
public static void see(int a, int b) {
int sw;
sw = a;
a = b;
b = sw;
System.out.println("after swapping");
System.out.println("a = " + a);
System.out.println("b = " + b);
}

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a, b;
System.out.print("enter a and b\n");
System.out.print("a = ");
a = in.nextInt();
System.out.print("b = ");
b = in.nextInt();
see(a, b);
}
}

هنا، الفانكشن see لا تعيد أي قيمة ولذلك نستخدم النوع void

***
الخلاصه

🌿عندما نستخدم return في الفانكشن، يعني ذلك أننا نريد إعادة قيمة إلى المكان الذي تم استدعاء الفانكشن منه. يتم إنهاء تنفيذ الفانكشن عند تنفيذ return. هذا مفيد عندما نحتاج إلى نتيجة معينة من الفانكشن لنستخدمها في مكان آخر.

🌿عدم استخدام return (استخدام void)
عندما نستخدم النوع void للفانكشن، يعني ذلك أن الفانكشن لا تعيد أي قيمة. هذا مناسب عندما نريد تنفيذ بعض العمليات فقط دون الحاجة إلى إعادة قيمة


🌿🌿🌿متى نستخدم return ومتى لا نستخدمه؟
- استخدام return: عندما نحتاج إلى إعادة نتيجة معينة من الفانكشن لنستخدمها في مكان آخر.
- عدم استخدام return (استخدام void): عندما نريد تنفيذ بعض العمليات فقط دون الحاجة إلى إعادة قيمة.
1
array المصفوفات
شرح اولي للمصفوفات

المصفوفة هي بنية بيانات تخزن مجموعة من العناصر من نفس نوع البيانات. يتم تخزين هذه العناصر في مواقع ذاكرة متجاورة ويمكن الوصول إليها باستخدام الفهرس (index). توفر المصفوفات طريقة لإدارة ومعالجة مجموعة كبيرة من البيانات بكفاءة.

يمكنك الإعلان عن مصفوفة عن طريق تحديد نوع بياناتها وعدد العناصر التي ستحتوي عليها. إليك بناء الجملة التالي:
data_type[ ] array_name = new data_type[array_size];

المصفوفات تبدأ فهرستها بصفر، مما يعني أنه يتم الوصول إلى العنصر الأول باستخدام الفهرس 0، والعنصر الثاني باستخدام الفهرس 1، وهكذا. يمكنك الوصول إلى عناصر المصفوفة وتعديلها باستخدام الأقواس المربعة:
array_name[index] = new_value;

مثال:
public class Main {
public static void main(String[] args) {
int[ ] x = new int[5];
x[0] = 10;
x[1] = 20;
System.out.println(x[0]);
x[2] = 30;
x[3] = 40;
x[4] = 50;
}
}

1. int[ ] x = new int[5];

يعلن هذا السطر عن مصفوفة أعداد صحيحة تسمى x بحجم 5. وهذا يعني أن x يمكنها تخزين خمس قيم صحيحة. ومع ذلك، في هذه المرحلة، تكون القيم الموجودة في المصفوفة غير مهيأة، مما يعني أنها تحتوي على بيانات عشوائية.
2. x[0] = 10;

هنا، نقوم بتعيين القيمة 10 للعنصر الأول في المصفوفة x. ، تكون المصفوفات مفهرسة بصفر، لذلك يشير x[0] إلى العنصر الأول.
3. x[1] = 20;

وبالمثل، فإننا نخصص القيمة 20 للعنصر الثاني في المصفوفة x، وهو x[1].
4. System.out.println(x[0]);

يطبع هذا السطر قيمة العنصر الأول من المصفوفة x، وهو 10، إلى شاشة المخرجات. ويستخدم (object) System.out لإخراج القيمة.
5. x[2] = 30;, x[3] = 40;, and x[4] = 50;

نقوم بتعيين القيم 30، 40، و50 للعناصر الثالث، الرابع، والخامس في المصفوفة x على التوالي.

مثال إضافي:
public class Main {
public static void main(String[] args) {
int[ ] x = new int[5];
x[0] = 10;
x[1] = 5;
x[4] = x[0] + x[1];
System.out.println(x[4]);
}
}

المخرجات:
15

الإعلان عن مصفوفة بحجم ثابت:
public class Main {
public static void main(String[] args) {
final int t = 5;
int[ ] x = new int[t];
}
}

يعلن هذا الكود عن مصفوفة أعداد صحيحة x بحجم 5، ويتم تحديد الحجم بواسطة الثابت t، الذي تم ضبطه على 5. وتضمن الكلمة المفتاحية final عدم إمكانية تغيير t لاحقًا في البرنامج.

الإعلان عن مصفوفة مع قيم أولية:
public class Main {
public static void main(String[ ] args) {
int[] x = {1, 4, 8, 7, 2};
System.out.println(x[0]);
}
}

يعلن هذا الكود عن مصفوفة أعداد صحيحة x بحجم 5 ويقوم بتهيئتها بالقيم 1 و4 و8 و7 و2. ثم يقوم بطباعة العنصر الأول من المصفوفة، وهو 1، إلى شاشة المخرجات.

مصفوفة بدون قيم أولية:
public class Main {
public static void main(String[] args) {
int[ ] x = new int[5];
System.out.println(x[3]);
}
}

يعلن هذا الكود عن مصفوفة أعداد صحيحة x بحجم 5 ولكنه لا يقوم بتهيئة عناصرها. لذلك، عند محاولة طباعة قيمة العنصر الرابع، سيتم عرض القيمة الافتراضية وهي 0.

مصفوفة مع قيمة أولية واحدة:
public class Main {
public static void main(String[] args) {
int[ ] x = new int[5];
x[0] = 0;
System.out.println(x[3]);
}
}

يعلن هذا الكود عن مصفوفة أعداد صحيحة x بحجم 5 ويقوم بتهيئة العنصر الأول إلى 0. ثم يقوم بطباعة قيمة العنصر الرابع من المصفوفة، وهو 0، إلى شاشة المخرجات.

مصفوفة مع بعض القيم الأولية:
public class Main {
public static void main(String[] args) {
int[] x = {1, 2, 3};
System.out.println(x[3]);
}
}

يعلن هذا الكود عن مصفوفة أعداد صحيحة x بحجم 5 ويقوم بتهيئتها بالقيم 1 و2 و3. ثم يقوم بطباعة قيمة العنصر الرابع من المصفوفة، وهو 0، إلى شاشة المخرجات.
1👍1
حاليا تقريبا كملنه شرح الاساسيات مع الامثله فه منا ورايح راح نحل امثله عل كل المواضيع واحاول نحل واجبات جميع الاقسام
Write a java program to calculate your birth year from your age?


import java.util.Scanner;

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

//ادخل عمرك
System.out.print("Enter your age = ");
int age = in.nextInt();

int year = 2024;
// احسب سنة الميلاد
int birthYear = year - age;

//عرض سنة الميلاد
System.out.println("Your birth year = " + birthYear);
}
}

#واجب المختبر برمجه
واجبات#الانظمه مسائي
JAVA OOP
واجبات#الانظمه مسائي
Q1//

mport java.util.Scanner;

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


System.out.print("Enter the num1 : ");
int num1 = in.nextInt();

System.out.print("Enter the num2 : ");
int num2 = in.nextInt();

System.out.print("Enter the num3 : ");
int num3 = in.nextInt();


int greatest = num1;

if (num2 > greatest) {
greatest = num2;
}


if (num3 > greatest) {
greatest = num3;
}
JAVA OOP
واجبات#الانظمه مسائي
Q2//


import java.util.Scanner;

public class main {

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

double quiz;
double midTerm;
double finalScore;


while (true) {
System.out.print("Enter quiz score (0-100): ");
quiz = scanner.nextDouble();
if (quiz >= 0 && quiz <= 100) {
break;
} else {
System.out.println("Invalid score. Please enter a value between 0 and 100.");
}
}


while (true) {
System.out.print("Enter mid-term score (0-100): ");
midTerm = scanner.nextDouble();
if (midTerm >= 0 && midTerm <= 100) {
break;
} else {
System.out.println("Invalid score. Please enter a value between 0 and 100.");
}
}


while (true) {
System.out.print("Enter final score (0-100): ");
finalScore = scanner.nextDouble();
if (finalScore >= 0 && finalScore <= 100) {
break;
} else {
System.out.println("Invalid score. Please enter a value between 0 and 100.");
}
}


double averageScore = (quiz + midTerm + finalScore) / 3;


if (averageScore >= 90) {
System.out.println("Grade: A");
} else if (averageScore >= 70) {
System.out.println("Grade: B");
} else if (averageScore >= 50) {
System.out.println("Grade: C");
} else {
System.out.println("Grade: F");
}

scanner.close();
}
JAVA OOP
واجبات#الانظمه مسائي
Q3//
public class main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
JAVA OOP
واجبات#الانظمه مسائي
Q4//

import java.util.Scanner;


public class main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter positive numbers (enter a non-positive to stop):");

while (true) {
int number = input.nextInt();
if (number <= 0) {
System.out.println("Terminated.");
break;
}
}
}
}
JAVA OOP
واجبات#الانظمه مسائي
Q7
public class main {
public static void main(String[] args) {
int term = 1;
for (int i = 0; i < 10; i++) {
System.out.print(term + " ");
term = term * 2 + 1;
}
}
}
سؤال المختبر القادم للهياكل /علوم صباحي
//
اكتب برنامج يقرء مصفوفه احاديه مصفوفة ثنائيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 5 عمليات عليها ويبقى يطلب من المستخدم اجراء عمليات لحين طلب المستخدم الخروج من العمليات
مًحًمًدٍ
سؤال المختبر القادم للهياكل /علوم صباحي // اكتب برنامج يقرء مصفوفه احاديه مصفوفة ثنائيه ثم يطلب من المستخدم اختيار نوع المصفوفه ووحجم المصفوفه وعناصر المجموعه ثم طباعتها واجراء 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();
}
}
}

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. العودة إلى القائمة الرئيسية");

java
👍2
int operation = new Scanner(System.in).nextInt();
switch (operation) {
case 1:
System.out.println("مجموع العناصر: " + sum(array));
break;
case 2:
System.out.println("متوسط العناصر: " + average(array));
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("اختيار غير صالح! يرجى إدخال رقم من 1 إلى 6.");
}
}
}

// عمليات على المصفوفة الثنائية
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("اختيار غير صالح! يرجى إدخال رقم من 1 إلى 6.");
}
}
}


// دالة لعكس المصفوفة الأحادية
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;
}
System.out.println("المصفوفة بعد العكس:");
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 int sum(int[] array) {
int total = 0;
for (int i = 0; i < array.length; i++) {
total += array[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 = 0; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
return max;
}

private static int min(int[] array) {
int min = array[0];
for (int i = 0; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
}
return min;
}

private static int sum(int[][] matrix) {
int total = 0;
for (int i = 0; i < matrix.length; i++) {
total += sum(matrix[i]); // استخدام دالة sum للمصفوفة الأحادية
}
return total;
}