chapter 7.3

17
MANIPULATING ARRAY AS PARAMETERS TO METHODS Chapter 7.3:

Upload: sotlsoc

Post on 04-Jul-2015

100 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Chapter 7.3

MANIPULATING ARRAY AS

PARAMETERS TO METHODS

Chapter 7.3:

Page 2: Chapter 7.3

Arrays as Formal Parameters to

MethodsArrays can be passed as parameter to methods

Eg.

public static void arrayAsFormalParameter(int[] listA,

double[] listB, int num)

{

//…

}

Formal parameter

The above method have 3 formal parameters –

listA, listB and num

Page 3: Chapter 7.3

continue

Statement to call the method

arrayAsFormalParameter(intList, doubleNumList, number);

Actual parameter

int[] intList = new int[10];

double[] doubleNumList = new double[15];

int number;

Suppose we have the following statement

Page 4: Chapter 7.3

example 1

public class PassingParameter {

public static void main(String[] args)

{

int num[] = {10,20,30,40,50,60,70};

System.out.println(“ The number of elements: "

+ num.length);

printArray(num);

}

public static void printArray(int[] number)

{

for (int index = 0; index < number.length; index++)

System.out.println(number[index] + "");

}

}

Passing parameter

OUTPUT:

The number of

elements: 7

10

20

30

40

50

60

70

Page 5: Chapter 7.3

example 2

public static void main(String[] args)

{

int[] listA = {11,22,36,42,15,46,27,48,19,10}

int[] listB = new int[10];

int Total, Largest;

// call sumArray method and return a value to Total

Total = sumArray (listA, listA.length);

System.out.println(“\n The sum of ListA is :” + Total);

// call indexLargestElement and return the indux value to Largest

indLargest = indexLargestElement (listA, list.length);

System.out.println(“\n The largest element is :” + listA[Largest]);

continue

Page 6: Chapter 7.3

public static int sumArray(int[] list, int noOfElements)

{

int index;

int sum = 0;

for (index = 0; index < noOfElement; index++)

sum = sum + list[index];

return sum;

}

public static int indexLargestElement(int[] list, int noOfElement)

{

int index;

int maxIndex = 0;

for (index = 1; index < noOfElement; index++)

if(list[maxIndex] < list[index])

maxIndex = index;

return maxIndex;

}

Page 7: Chapter 7.3

Array of String ObjectsString[] nameList = new String[5]

nameList[0] = “Amanda Green”;

nameList[1] = “Vijay Arora”;

nameList[2] = “Sheila Mann”;

nameList[3] = “Rohit Sharma”;

nameList[4] = “Mandy Johnson”;

Page 8: Chapter 7.3

Array of Object

Can use arrays to manipulate objects.

Example: Create an array named array1 with N object of type T:

T[] array1 = new T[N]

Can instantiate array1 as follows:

for(int j=0; j < array1.length; j++)

array1[j] = new T();

Eg:a) clock – hour, minute, second

b) student – name, matric, age

Page 9: Chapter 7.3

example

import java.util.*;

public class ArrayOfObj {

int N = 3;

StudentInfo[] student = new StudentInfo[N];

public static void main (String[] args)

{

int N = 3;

int i;

ArrayOfObj arr = new ArrayOfObj();

StudentInfo[] Std = new StudentInfo[N];

Std = arr.InputData();

arr.PrintInfo(Std);

}

Input students information's (name,matric, age) into array and print out the output

class StudentInfo{

String name;

String matric;

int age;

}

Page 10: Chapter 7.3

public StudentInfo[] InputData()

int i;

StudentInfo[] student = new

StudentInfo[N];

System.out.println("\nEnter Students

Information ");

System.out.println("_______________________

____ \n");

for (i = 0; i< N; i++)

{

student[i] = new StudentInfo();

System.out.print("Name : ");

student[i].name = input.readLine();

System.out.print("Matric No : ");

student[i].matric = input.nextLine();

System.out.print("Age : ");

student[i].age = input.nextInt();

System.out.println();

}

return student;

}

public void PrintInfo(StudentInfo[] Std)

{

int i;

System.out.println("List of students

:\n");

for (i=0;i<N;i++)

{

System.out.println((i+1) + ". " +

Std[i].matric + " " +

Std[i].name + " " + " " + Std[i].age);

}

}

Page 11: Chapter 7.3

OutputEnter Students Information

___________________________

Name : BAHARUDIN OSMAN

Matric No : S11111

Age : 30

Name : BADRUL HAZMI

Matric No : S23212

Age : 28

Name : NUR BADRINA

Matric No : S34213

Age : 27

List of students :

1. S11111 BAHARUDIN OSMAN 30

2. S23212 BADRUL HAZMI 28

3. S34213 NUR BADRINA 27

Page 12: Chapter 7.3

Statement below create an array of

arrivalTimeEmp

Clock[] arrivalTimeEmp = new Clock[100];

Page 13: Chapter 7.3

Instantiating of Array

Objectsfor (int j = 0; j < arrivalTimeEmp.length; j++)

arrivalTimeEmp[j] = new Clock();

Page 14: Chapter 7.3

Continue

Setting a time for index 49

arrivalTimeEmp[49].setTime(8, 5, 10);

Page 15: Chapter 7.3

Delete Object

Step

i. Identify the element to delete

ii. Point the object to delete null

iii. Move up all elements (after deleted object)

iv. Point the last element to null

Page 16: Chapter 7.3

for (i=0; i < student.length; i++)

if(i==5) then

student[i] = null

null

student

Name

Matric

IC

Name

Matric

IC

Name

Matric

IC

Step 1 : Identify the element to delete

Step 2 : Point the object to delete to null

- if the sixth element to delete

Page 17: Chapter 7.3

Step 3 : Move up all elements (after deleted

object)

Step 4 : Point the last element to null

element A

element B

element C

element D

element E

element

element G

element H

element I

element J

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

element A

element B

element C

element D

element E

element G

element H

element I

element J

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

for (i = 0; i < student.length; i++)

if (i= =5)

student[i] = student[student.length -1)

if (i= = (student.length – 1))

student[i] = null

Set the last element to null

nullbefore

studentstudent

after