introduction to oop with java - abu khleif · introduction to oop with java - abukhleif 35. scope...

53
Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 www.abukhleif.com

Upload: others

Post on 26-Aug-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Introduction to OOP with Java

Instructor: AbuKhleif, Mohammad Noor

Sep 2017

www.abukhleif.com

Page 2: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods

Instructor: AbuKhleif, Mohammad Noor

Sep 2017

www.abukhleif.com

Lecture 05:

Page 3: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Instructor

• AbuKhleif, ‘Mohammad Noor’• Computer Engineer (JU 2012-2017)• Software Automation Engineer @ Atypon – John Wiley and

Sons Company - Jordan Branch

• Reach me at:• www.abukhleif.com• [email protected]• facebook.com/moh.noor94• twitter.com/moh_noor94

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

3

Page 4: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Course

• Java SE Basics• Object Oriented Programming• Course Page:

www.abukhleif.com/courses/java-101-sep-2017• Or, go to: www.abukhleif.com Courses Java 101 Course

– Sep 2017• Course Facebook Group:

www.facebook.com/groups/AKF2017Java

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

4

Page 5: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Let’s Start!

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

5

Page 6: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Opening Problem

• Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

6

Page 7: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Opening Problem – (Solution?)

int sum = 0;

for (int i = 1; i <= 10; i++)

sum += i;

System.out.println("Sum from 1 to 10 is " + sum);

sum = 0;

for (int i = 20; i <= 30; i++)

sum += i;

System.out.println("Sum from 20 to 30 is " + sum);

sum = 0;

for (int i = 35; i <= 45; i++)

sum += i;

System.out.println("Sum from 35 to 45 is " + sum);

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

7

Page 8: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Motivations

Methods can be used to define reusable code and organize and simplify code

• It would be nice to write the common code once and reuse it.

• This is achieved by:• Defining a method that contains the common code.• Reuse it by invoking it with different values.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

8

Page 9: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

9

Page 10: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods

• A method is a collection of statements that are grouped together to perform an operation.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

10

public static int max(int num1, int num2) {

int result;

if (num1 > num2)

result = num1;

else

result = num2;

return result;

}

modifier

return value

type method

name formal

parameters

return value

method

body

method

header

parameter list

Define a method Invoke a method

int z = max(x, y);

actual parameters

(arguments)

method

signature

Page 11: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods

• Method signature is the combination of the method name and the parameter list.

• The variables defined in the method header are known as formal parameters.

• When a method is invoked, you pass a value to the parameter. This value is referred to as actual parameter or argument.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

11

Page 12: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Return Value Type• A method may return a value. The returnValueType is the

data type of the value the method returns.

• If the method does not return a value, the returnValueTypeis the keyword void.• For example, the returnValueType in the main method is void.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

12

Page 13: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Example

public class TestMax {

/** Main method */

public static void main(String[] args) {

int i = 5;int j = 2;int k = max(i, j);

System.out.println("The maximum between " + i +

" and " + j + " is " + k);

}

/** Return the max between two numbers */

public static int max(int num1, int num2) {

int result;

if (num1 > num2)

result = num1;

elseresult = num2;

return result;

}

}

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

13

Page 14: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Example, cont.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

14

pass the value of i pass the value of j

• Calling a method executes the code in the method.• The main method is just like any other method except that it is invoked by the JVM to start the

program.

Page 15: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Example, cont.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

15

pass the value of i pass the value of j

• When a program calls a method, program control is transferred to the called method.• A called method returns control to the caller when:

• Either its return statement is executed, or• Its method-ending closing brace is reached.

Page 16: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Caution

• A return statement is required for a value-returning method.

• The method shown below in (a) is logically correct, but it has a compilation error because the Java compiler thinks it possible that this method does not return any value.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

16

public static int sign(int n) { if (n > 0)

return 1;

else if (n == 0)

return 0;

else if (n < 0)

return –1;

}

(a)

Should be

(b)

public static int sign(int n) {

if (n > 0)

return 1;

else if (n == 0)

return 0;

else

return –1;

}

Page 17: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Let’s Code

• Write a program that have a method called ‘printMultiplications’.

• ‘printMultiplications’ methods receives 2 integers: ‘x’ and ‘y’ and prints first ‘y’ multiplications of ‘x’ each on a line.

• Use the ‘printMultiplications’ with, at least, 3 examples in the main method.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

17

Page 18: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

What Happens when a Method is Invoked?

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

18

Page 19: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

What happens when a method is invoked?

• Each time a method is invoked, the system creates an activation record.

• Activation record stores parameters and variables for the method.

• Activation record is placed in an area of memory known as the call stack, or simply the stack.

• When a method invokes another method, the caller’s activation record is kept intact, and a new activation record is created.

• When a method finishes its work and returns to its caller, its activation record is removed from the stack.

• A call stack stores methods in last-in, first-out fashion.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

19

Page 20: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

What happens when a method is invoked?(Example)

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

20

(a) The main method is invoked.

Space required for

the main method

k:

j: 2

i: 5

(b) The max method is invoked.

Space required for

the max method

num2: 2

num1: 5

(d) The max method is

finished and the return

value is sent to k.

(e) The main method is finished.

Stack is empty

Space required for

the main method

k:

j: 2

i: 5

Space required for

the main method

k: 5

j: 2

i: 5

(c) The max method is being executed.

Space required for

the max method

result: 5

num2: 2

num1: 5

Space required for

the main method

k:

j: 2

i: 5

Page 21: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

void Methods

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

21

Page 22: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

void Methods Examplepublic class TestVoidMethod {

public static void main(String[] args) {

System.out.print("The grade is ");

printGrade(78.5);

System.out.print("The grade is ");

printGrade(59.5);

}

public static void printGrade(double score) {

if (score >= 90.0) {

System.out.println('A');

}

else if (score >= 80.0) {

System.out.println('B');

}

else if (score >= 70.0) {

System.out.println('C');

}

else if (score >= 60.0) {

System.out.println('D');

}

else {

System.out.println('F');

}

}

} Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

22

Page 23: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Passing Parameters

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

23

Page 24: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Passing Parameters

• Suppose you invoke the method using nPrintln(“Welcome to Java”, 5);

What is the output?

• Suppose you invoke the method using nPrintln(“Computer Science”, 15);

What is the output?

• Can you invoke the method using nPrintln(15, “Computer Science”);

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

24

public static void nPrintln(String message, int n) {

for (int i = 0; i < n; i++)

System.out.println(message);

}

Page 25: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Passing Parameters

• When calling a method, you need to provide arguments, which must match the parameters defined in the method signature in:• Order• Number• Compatible type

• When you invoke a method with an argument, the value of the argument is passed to the parameter.• This is referred to as pass-by-value.• If a value of a variable is passed as an argument to a parameter, the

variable is not affected, regardless of the changes made to the parameter inside the method.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

25

Page 26: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Example

public class Increment {

public static void main(String[] args) {

int x = 1;

System.out.println("Before the call, x is " + x);

increment(x);

System.out.println("after the call, x is " + x);

}

public static void increment(int n) {

n++;

System.out.println("n inside the method is " + n);

}

}

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com 26

Page 27: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Modularizing Code

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

27

Page 28: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Modularizing Code

•Modularizing makes the code:• Clear and easy to read.

• Isolates parts used to perform specific computations from the rest of the code.

• Easy to maintain and debug.• Narrows the scope of debugging.

• Reusable.• Code can be reused by other programs (or other classes).

Introduction to OOP with Java - AbuKhleiFwww.abukhleif.com

28

Page 29: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Overloading Methods

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

29

Page 30: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Overloading Methods

• Two methods that have the same name, but different parameter lists within one class.

• The Java compiler determines which method to use based on the method signature.• It finds the most specific method for a method invocation.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

30

Page 31: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com 31

public class TestMethodOverloading {

/** Main method */

public static void main(String[] args) {

// Invoke the max method with int parameters

System.out.println("The maximum of 3 and 4 is " + max(3, 4));

// Invoke the max method with the double parameters

System.out.println("The maximum of 3.0 and 5.4 is " + max(3.0, 5.4));

// Invoke the max method with three double parameters

System.out.println("The maximum of 3.0, 5.4, and 10.14 is " + max(3.0, 5.4, 10.14));

}

/** Return the max of two int values */

public static int max(int num1, int num2) {

if (num1 > num2)

return num1;

else

return num2;

}

/** Find the max of two double values */

public static double max(double num1, double num2) {

if (num1 > num2)

return num1;

else

return num2;

}

/** Return the max of three double values */

public static double max(double num1, double num2, double num3) {

return max(max(num1, num2), num3);

}}

Example

Page 32: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Ambiguous Invocation

• Sometimes there may be two or more possible matches for an invocation of a method, but the compiler cannot determine the most specific match.

• This is referred to as ambiguous invocation.

• Ambiguous invocation is a compilation error.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

32

Page 33: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Ambiguous Invocation - Example

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

33

public class AmbiguousOverloading {

public static void main(String[] args) {

System.out.println(max(1, 2));

}

public static double max(int num1, double num2) {

if (num1 > num2)

return num1;

else

return num2;

}

public static double max(double num1, int num2) {

if (num1 > num2)

return num1;

else

return num2;

}

}

Page 34: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Scope of Variables

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

34

Page 35: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Scope of Variables

• The scope of a variable is the part of the program where the variable can be referenced.

• A variable defined inside a method is referred to as a local variable.

• The scope of a local variable starts from its declaration and continues to the end of the block that contains the variable.• A local variable must be declared before it can be used.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

35

Page 36: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Scope of Variables, cont.

• A parameter is actually a local variable.• The scope of a method parameter covers the entire method.

• You can declare a local variable with the same name multiple times in different non-nesting blocks in a method.• But you cannot declare a local variable twice in nested blocks.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

36

Page 37: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Scope of Variables, cont.

• A variable declared in the initial action part of a for loop header has its scope in the entire loop.

• But a variable declared inside a for loop body has its scope limited in the loop body from its declaration and to the end of the block that contains the variable.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

37

public static void method1() {

.

.

for (int i = 1; i < 10; i++) {

.

.

int j;

.

.

.

}

}

The scope of j

The scope of i

Page 38: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Scope of Variables, cont.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

38

public static void method1() {

int x = 1;

int y = 1;

for (int i = 1; i < 10; i++) {

x += i;

}

for (int i = 1; i < 10; i++) {

y += i;

}

}

It is fine to declare i in two

non-nesting blocks

public static void method2() {

int i = 1;

int sum = 0;

for (int i = 1; i < 10; i++) {

sum += i;

}

}

It is wrong to declare i in

two nesting blocks

Page 39: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods Abstractionand Benefits of Methods

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

39

Page 40: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Methods Abstraction

• You can think of the method body as a black box that contains the detailed implementation for the method.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

40

Method Header

Method body Black Box

Optional arguments

for Input Optional return

value

Page 41: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Benefits of Methods

•Write a method once and reuse it anywhere

•Information hiding

• Hide the implementation from the user.

•Reduce complexity

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

41

Page 42: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Program Design

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

42

Page 43: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Top-Down Design

• Top-down approach is to implement one method in the structure chart at a time from the top to the bottom.

• Stubs can be used for the methods waiting to be implemented.• A stub is a simple but incomplete version of a method.

• The use of stubs enables you to test invoking the method from a caller.

• Implement the main method first and then use a stub for the eachmethod to test.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

43

Page 44: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Bottom-Up Design

• Bottom-up approach is to implement one method in the structure chart at a time from the bottom to the top.

• For each method implemented, write a test program to test it.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

44

Page 45: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Which Design Approach to Choose?

• Both top-down and bottom-up methods are fine.

• Both approaches implement the methods incrementally and help to isolate programming errors and makes debugging easy.

• Sometimes, they can be used together.

• You, choose!

• I will choose, let’s say always, the ‘top-down’ approach.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

45

Page 46: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Self Reading

• A common error for the exercises in this chapter is that students don’t implement the methods to meet the requirements even though the output from the main program is correct.

• For an example of this type of error see www.cs.armstrong.edu/liang/CommonMethodErrorJava.pdf.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

46

Page 47: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

TasksAll tasks should be well-documented, well-designed, and well-styled.

Page 48: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Task 01

(Check vowels)

• Write a method isVowel. That returns the value true if a given character is a vowel and otherwise returns false.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

48

Page 49: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Task 02

(Display an integer reversed) *

• Write a method with the following header to display an integer in reverse order:

public static void reverse(int number)

• For example, reverse(3456) displays 6543.

• Write a test program that prompts the user to enter an integer and displays its reversal.

• Hint: Use %10 to get the last digit of a number and /10 to get rid of it.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

49

Page 50: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Task 03

(Check password) **

• Some websites impose certain rules for passwords.

• Write a method that checks whether a string is a valid password.

• Suppose the password rules are as follows:• A password must have at least eight characters.

• A password consists of only letters and digits.

• A password must contain at least two digits.

• Write a program that prompts the user to enter a password and displays Valid Password if the rules are followed or Invalid Password otherwise.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

50

Page 51: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Tasks Submission• Submit a zipped file contains all the 3 .java files, 1 file for each task.

• Name your zipped file as follow [Lect5_YourName.zip].

• Upload your zipped file to the Facebook group.

• Submission due: Wednesday, Sep 20 - 10:00 PM

• Late submission will not be reviewed by the instructor.

• Public solutions upload goal is to share knowledge, you can see other’s solutions, but, please, don’t cheat yourself!

• Don’t forget, all tasks should be well-documented, well-designed, and well-styled.

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

51

Page 52: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

Test Yourself

•Answer all question:

http://www.cs.armstrong.edu/liang/interactivequiz/public_html/Chapter6.html

Introduction to OOP with Java - AbuKhleiF www.abukhleif.com

52

Page 53: Introduction to OOP with Java - Abu Khleif · Introduction to OOP with Java - AbuKhleiF 35. Scope of Variables, cont. •A parameter is actually a local variable. •The scope of

- Liang, Introduction to Java Programming 10/e- Eng. Asma Abdel Karim Computer Engineering Department, JU Slides.

Instructor: AbuKhleif, Mohammad Noor

Sep 2017

www.abukhleif.com

References:

End of Lecture =D