Java Questions
CREATED BY
HOSSAM MAHMOUD
FINAL Revision
اﻫﻢ اﺳﺌﻠﺔ ﻣﻠﻔﺎت اﻟﻤﺤﺎﺿﺮات
Java OOP — 15 Important Questions with
Solutions and Explanations
Question 1: GravityCalculator
Explanation: This program calculates the position of a falling object using the gravity
equation.
public class GravityCalculator {
public static void main(String[] args) {
// Acceleration due to gravity
double a = -9.81;
// Initial velocity
double vi = 0;
// Initial position
double xi = 0;
// Time in seconds
double t = 10;
// Applying the equation
double x = 0.5 * a * t * t + vi * t + xi;
// Print result
[Link]("Position = " + x);
}
}
Question 2: FooCorporation
Explanation: This program calculates employee salary and overtime.
public class FooCorporation {
public static void main(String[] args) {
// Salary per hour
double salary = 10;
// Working hours
int hours = 45;
// Check minimum salary
if (salary < 8) {
[Link]("Error: Salary is less than 8$");
}
// Check maximum hours
else if (hours > 60) {
[Link]("Error: Hours more than 60");
}
else {
double total;
// No overtime
if (hours <= 40) {
total = salary * hours;
}
// Overtime exists
else {
int overtime = hours - 40;
total =
(40 * salary) +
(overtime * salary * 1.5);
}
[Link]("Total Salary = " + total);
}
}
}
Question 3: Library System
Explanation: This program models a simple library system using classes and objects.
class Book {
String name;
boolean borrowed;
// Constructor
Book(String n) {
name = n;
borrowed = false;
}
// Borrow method
void borrowBook() {
if (!borrowed) {
borrowed = true;
[Link](name + " borrowed");
}
else {
[Link]("Book already borrowed");
}
}
// Return method
void returnBook() {
borrowed = false;
[Link](name + " returned");
}
}
class Library {
public static void main(String[] args) {
// Create array of books
Book[] books = new Book[2];
books[0] = new Book("Java");
books[1] = new Book("OOP");
books[0].borrowBook();
books[0].returnBook();
}
}
Question 4: Magic Squares
Explanation: Reads numbers from a file and calculates row sums.
import [Link].*;
public class MagicSquare {
public static void main(String[] args)
throws Exception {
FileReader fr =
new FileReader("[Link]");
BufferedReader br =
new BufferedReader(fr);
int sum = 0;
String line;
while ((line = [Link]()) != null) {
String[] numbers = [Link](" ");
sum = 0;
for (int i = 0; i < [Link]; i++) {
sum += [Link](numbers[i]);
}
[Link]("Row Sum = " + sum);
}
[Link]();
}
}
Question 5: Data Types
Explanation: Prints different Java data types.
public class DataTypes {
public static void main(String[] args) {
int num = 100;
float b = 1.5f;
char c = 'A';
String s = "Hello Java";
[Link](num);
[Link](b);
[Link](c);
[Link](s);
}
}
Question 6: Sum and Average
Explanation: Calculates the sum and average of two numbers.
import [Link];
public class Numbers {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int a = [Link]();
int b = [Link]();
int sum = a + b;
double avg = sum / 2.0;
[Link]("Sum = " + sum);
[Link]("Average = " + avg);
}
}
Question 7: Square, Cube, Square Root
Explanation: Uses Math functions to calculate powers and roots.
import [Link];
public class PowerExample {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int num = [Link]();
[Link](
"Square = " + [Link](num, 2));
[Link](
"Cube = " + [Link](num, 3));
[Link](
"Square Root = " + [Link](num));
}
}
Question 8: Alphabets
Explanation: Prints uppercase and lowercase alphabets using loops.
public class Alphabets {
public static void main(String[] args) {
// Uppercase letters
for (char c = 'A'; c <= 'Z'; c++) {
[Link](c + " ");
}
[Link]();
// Lowercase letters
for (char c = 'a'; c <= 'z'; c++) {
[Link](c + " ");
}
}
}
Question 9: Even or Odd
Explanation: Checks whether a number is even or odd.
import [Link];
public class EvenOdd {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int num = [Link]();
if (num % 2 == 0) {
[Link]("EVEN");
}
else {
[Link]("ODD");
}
}
}
Question 10: Operations
Explanation: Demonstrates arithmetic operations and precedence.
public class Operations {
public static void main(String[] args) {
[Link](-5 + 8 * 6);
[Link]((55 + 9) % 9);
[Link](20 + -3 * 5 / 8);
[Link](
5 + 15 / 3 * 2 - 8 % 3);
}
}
Question 11: Sum
Explanation: Prints the sum of two numbers.
public class Sum {
public static void main(String[] args) {
int sum = 74 + 36;
[Link](sum);
}
}
Question 12: Expression
Explanation: Computes and prints a mathematical expression.
public class Expression {
public static void main(String[] args) {
double result =
(25.5 * 3.5 - 3.5 * 3.5)
/ (40.5 - 4.5);
[Link](result);
}
}
Question 13: Decimal To Binary
Explanation: Converts decimal numbers to binary.
import [Link];
public class DecimalToBinary {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int num = [Link]();
String binary =
[Link](num);
[Link](binary);
}
}
Question 14: For Loop Example
Explanation: Demonstrates a simple for loop.
public class ForLoopExample {
public static void main(String[] args) {
for (int i = 10; i > 1; i--) {
[Link](i);
}
}
}
Question 15: Array Example
Explanation: Prints array elements using a loop.
public class ArrayExample {
public static void main(String[] args) {
int[] numbers = {11, 22, 33, 44, 55};
for (int i = 0; i < [Link]; i++) {
[Link](numbers[i]);
}
}
}
ﺷﻮﻳﺔ ﻣﻼﺣﻈﺎت ﻣﻬﻤﻪ ﺗﺴﺎﻋﺪ
ﻓﻲ ﻓﻬﻢ اﻻﺳﺌﻠﺔ
نقطة البداية وأنواع البيانات
نقطة بداية أ ي برنامج Java 1
أي كود Javaتق ريبا يبدأ بهذ ا السطر -نق طة الدخ ول الرئيسية للبرن امج :
)public static void main(String[] args
الف رق بي ن intو double 2
intللارقام الصحيحة | doubleللارقام العش رية
;int x = 5 صحيح // ;double y = 5.5 عشري //
;int x = 5.5غ لط! رقم عش ري ف ي intيسبب خ طأ ;double x = 5.5
الادخال والحلق ات الت كرارية
EVEN / ODD 4 - Scannerادخال البيانات 3
num % 2باق ي الق سمة :النت يج ة = 0ز وج ي لق راءة مدخ لات المست خ دم:
| غ ير = 0ف رد ي
;)Scanner sc = new Scanner([Link]
اذ ن 10ز وج ي 0 = 2 % 10 مث ال: ;)(int n = [Link]
;import [Link] لا تن س:
++iو --i 6 for loop 5
مث ال المعن ى العبارة )for (int i=0; i<5; i++
3تصبح 4 ز يادة 1 i++
المعن ى الج ز ء
3تصبح 2 ن ق صان 1 i--
البداي ة i=0
كرر طالما الش رط صحيح i<5
ز ود 1كل مرة i++
المصف وف ات Arrays
[Link] 8 المصفوف ات 7
تعطي عدد عن اصر المصف وف ة : ;}int[] nums = {1, 2, 3
;}int[] a = {10,20,30
مهم :الـ Arrayتبدأ من 0وليس 1
[Link]; // 3
] = nums[0اول عن صر | ] = nums[1ثان ي عن صر
for: مع ;for(int i=0 مف يدة
)i<[Link]; i++
الدوال الرياض ي ة والت حويلات
- [Link]الج ذ ر الت ربيعي 10 - [Link]الاس 9
[Link](25) // 5.0 [Link](2, 3) // 8.0 )اس (2 3
[Link](16) // 4.0
المعن ى العبارة
2اس 8 = 3 )[Link](2,3
5اس 25 = 2 )[Link](5,2
النت يج ة دائما double
if / elseالش روط 12 Decimal to Binary 11
} */بالغ *if (age >= 18) { /
تحويل تلق ائي بدون :loop
} */قاصر *else { /
"[Link](10) // "1010
)[Link](5 "// "101
المعن ى العبارة
اكبر او يساوي =>
اصغ ر او يساوي =<
يساوي (مق ارن ة ) ==
لا يساوي =!
والكائن اتOOP
) (ساعات اض اف ي ةOvertime حساب 13
الحساب الساعات
سعر عادي ساع ة40 اول
1.5 تض رب ف ي 40 اي ساع ة بعد
475 = ) (اض اف ي5x10x1.5=75 + ) (عادي40x10=400 :10 ساعة بسعر45 :مث ال
Object ان ش اء 15 Constructor 14
Book b = new Book("Java");
:Object دالة تش ت غ ل تلق ائيا عن د ان ش اء
class Book {
المعن ى الج ز ء
Book(String n) { name = n; } // Constructor
ن وع الكلاس Book }
Object اسم الـ b مباش رةConstructor يش ت غ ل الـ ;new Book("Java")
ان ش اء ن سخ ة new
ج ديدة Book(...)
ق راءة الملف ات
BufferedReader وFileReader 16
: يق راه سطر سطرBufferedReader | يف ت ح الملفFileReader
FileReader fr = new FileReader("[Link]");
BufferedReader br = new BufferedReader(fr);
String line = [Link]();
int لـparseInt - String 18 (" ") تقسيم الن صsplit 17
String s = "25";
: تق سم الج ملة عن د كل مساف ة
int n = [Link](s); // 25
String s = "10 20 30";
String[] p = [Link](" ");
لان الق راءةBufferedReader وsplit مهمة مع
// p[0]="10" p[1]="20" p[2]="30"
String تكون
الاخطاء الش ائعة
اكت ر حاج ات بت سبب Errorsللمب ت دئي ن 19
.1نسيان الف اصلة المن قوطة ;
( int x = 5غ لط) ( ;int x = 5صح)
.2نسيان الاق واس { }
) if (x > 5بدون اقواس )} ... { if (x > 5
.3كت ابة = بدل ==
) if (x = 5اسن اد مش مق ارن ة ) if (x == 5مق ارن ة
ن صيحة ذ هبية :لو طلع Errorوان ت مش عارف السبب ،اف حص الث لاث حاج ات دي الاول -سبب %80من الاخ طاء!
ملخص سريع -اهم الدوال والاكواد
الن اتج مث ال الكود الغ رض
][public static void main(String
كل برن امج Java - )args
ن ق ط ة البداي ة
رقم من المست خ دم )([Link] )([Link] قراءة مدخ لات
= 0ز وج ي 10 % 2 num % 2 ز وج ي /ف ردي
8.0 )[Link](2, 3 )[Link](a, b الاس
5.0 )[Link](25 )[Link](n الج ذ ر الت ربيعي
""1010 )toBinaryString(10 )[Link](n تحويل لـ Binary
25 )"parseInt("25 )[Link](s تحويل Stringلـ int
["]"20" ,"10 )" "("10 20".split )" "([Link] تق سيم الن ص
3 {1,2,3}.length [Link] عدد عن اصر Array