User Defined Methods in Java: With Animation
User Defined Methods in Java: With Animation
With Animation
Index
1. Advantages
2. Simple Programs using Methods
a) Add two numbers
b) Average of three numbers
c) Circle area
d) Fahrenheit to Celsius
e) Check number is even or not
f) Check number is prime or not
g) Reverse of a number
h) Check number is palindrome or not
i) Count number of digits in a number
j) Sum of digits
k) LCM of 2, 3 and 4 numbers
l) HFC of 2 numbers
m) 1 to 100 prime numbers
n) 200 to 500 prime and palindrome
o) Decimal to binary, octal, hex
p) Binary to decimal, octal, hex
q) Octal to binary,decimal, hex
r) Hexadecimal to binary, octal, decimal
3. Pass Array to Methods
a) Print all elements of an array
b) Sum of an array
c) Average of an array
d) Maximum element of an array
e) Minimum element of an array
4. Returning Array From Methods
a) Reverse array
b) Reverse every element of an array
Function v/s Method
Function v/s Method
Q.)What is the difference between a
function and a method.?
Function v/s Method
Q.)What is the difference between a
function and a method.?
Ans.) A method is a function that is
written in a class.
Function v/s Method
Q.)What is the difference between a
function and a method.?
Ans.) A method is a function that is
written in a class.
We do not have functions in java; instead we have methods. This means whenever a
function is written in java. It should be written inside the class
only. But if we take C++, we can write the functions inside as well as outside the class.
So in C++, they are called member functions and not methods.
Function with no arguments and no
return(no input no output)
void display()
{
System.out.println("this is inside method body");
}
Function with no arguments and no
return(no input no output)
void display()
{
System.out.println("this is inside method body");
}
When you want to return no value,
then set return type to void
Function with no arguments and no
return(no input no output)
void display()
{
System.out.println("this is inside method body");
}
Name of the
function is
display
When you want to return no value,
then set return type to void
No arguments
here
Function with no arguments and no
return(no input no output)
void display()
{
System.out.println("this is inside method body");
}
Name of the
function is
display
When you want to return no value,
then set return type to void
Complete Program
public class function1
{
static void display()
{
System.out.println("this is inside method body");
}
public static void main(String args[])
{
System.out.println("before function call");
display();
System.out.println("after function call");
}
}
Complete Program
public class function1
{
static void display()
{
System.out.println("this is inside method body");
}
public static void main(String args[])
{
System.out.println("before function call");
display();
System.out.println("after function call");
}
}
Method
Definition
Complete Program
public class function1
{
static void display()
{
System.out.println("this is inside method body");
}
public static void main(String args[])
{
System.out.println("before function call");
display();
System.out.println("after function call");
}
}
Method
Definition
Method
Calling
Add two integer numbers
int add(int a, int b)
{
int c=a+b;
return c;
}
Add two integer numbers
int add(int a, int b)
{
int c=a+b;
return c;
}
Two Integer
Arguments
Add two integer numbers
int add(int a, int b)
{
int c=a+b;
return c;
}
Two Integer
Arguments
Returning integer value to calling method
Complete Program
public class function1
{
static int add(int a, int b)
{
int c=a+b;
return c;
}
public static void main(String args[])
{
System.out.println(add(45,67));
}
}
Complete Program
public class function1
{
static int add(int a, int b)
{
int c=a+b;
return c;
}
public static void main(String args[])
{
System.out.println(add(45,67));
}
}
Display method
is called
method,
because it is
called by main
method
Complete Program
public class function1
{
static int add(int a, int b)
{
int c=a+b;
return c;
}
public static void main(String args[])
{
System.out.println(add(45,67));
}
}
Display method
is called
method,
because it is
called by main
method
main method
is calling
method,
because it is
calling display
method.
Average of three integer numbers
double )
{
double d;
d=((double)a+b+c)/3;
return d;
}
Average of three integer numbers
double )
{
double d;
d=((double)a+b+c)/3;
return d;
}
This method takes
multiple arguments and
returns single value
Average of three integer numbers
double )
{
double d;
d=((double)a+b+c)/3;
return d;
}
This method takes
multiple arguments and
returns single value
Calculate circle Area
double
{
double area=Math.PI*radius*radius;
return area;
}
Calculate circle Area
double
{
double area=Math.PI*radius*radius;
return area;
}
Convert Fahrenheit to Celsius
double convertFahToCel(double fah)
{
double cel=(fah-32)*5/9;
return cel;
}
Convert Fahrenheit to Celsius
double convertFahToCel(double fah)
{
double cel=(fah-32)*5/9;
return cel;
}
This method takes one
argument and returns
single value
Check number is even or not
boolean checkEven(int n)
{
if(n%2==0)
{
return true;
}
else
{
return false;
}
}
Check number is even or not
boolean checkEven(int n)
{
if(n%2==0)
{
return true;
}
else
{
return false;
}
}
Check number is prime or not
boolean isPrime(int n)
{
int i;
for( i=2;i<n;i++)
{
if(n%i==0)
{
break;
}
}d
if(n==i)
{
return true;
}
else
{
return false;
}
}
Reverse number
int reverseNumber(int n)
{
int x=0;
for( ; n!=0 ; )
{
int r=n%10;
x=x*10+r;
n=n/10;
}
return x;
}
Check number is palindrome or not
boolean isPalindrome(int n)
{
int rev = ;
if(n==rev)
{
return true;
}
else
{
return false;
}
}
FOCUS ON ONE WORK
We need to focus on palindrome
not on reverse number code,
this is a advantage of method.
Check number is palindrome or not
boolean isPalindrome(int n)
{
int rev = ;
if(n==rev)
{
return true;
}
else
{
return false;
}
}
Using previous slides
reverse number method
FOCUS ON ONE WORK
We need to focus on palindrome
not on reverse number code,
this is a advantage of method.
Count number of digits in a number
This is Exercise
Sum of digits
This is Exercise
LCM(Lowest Common Multiple) of 2
numbers
long getLCM(int n1, int n2)
{
long answer=1;
for(int i=2;n1!=1 && n2!=1;)
{
if(n1%i==0 && n2%i==0)
{
n1=n1/i;
n2=n2/i;
answer=answer*i;
}
else if(n1%i==0)
{
n1=n1/i;
answer=answer*i;
}
else if(n2%i==0)
{
n2=n2/i;
answer=answer*i;
}
else
{
i++;
}
}//end of for loop
answer=n1*n2*answer;
return answer;
}//end of this method
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
Method overloading on getLCM() method
differ by number of arguments
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
User Defined
getLCM() 2 argument
method
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
} Narrowing
type
conversion
LCM of 3 Numbers
long getLCM(int n1,int n2,int n3)
{
long result1 = getLCM(n1,n2);
long finalResult=getLCM((int) result1,n3);
return finalResult;
}
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
Method overloading on getLCM() method
differ by number of arguments
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
User Defined
getLCM() 3
arguments method
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
} Narrowing
type
conversion
LCM of 4 Numbers
long getLCM(int n1,int n2,int n3, int n4)
{
long result1 = getLCM(n1,n2,n3);
long finalResult=getLCM((int) result1,n4);
return finalResult;
}
HCF(Highest Common Factor) of 2
numbers
int getHCF(int n1,int n2)
{
int lcmOfThese=(int) getLCM(n1,n2);
long product=n1*n2;
int hcfOfThese=(int)(product/lcmOfThese);
return hcfOfThese;
}
HCF(Highest Common Factor) of 2
numbers
int getHCF(int n1,int n2)
{
int lcmOfThese=(int) getLCM(n1,n2);
long product=n1*n2;
int hcfOfThese=(int)(product/lcmOfThese);
return hcfOfThese;
}
Narrowing type
conversion /manual type
casting/ down casting
HCF(Highest Common Factor) of 2
numbers
int getHCF(int n1,int n2)
{
int lcmOfThese=(int) getLCM(n1,n2);
long product=n1*n2;
int hcfOfThese=(int)(product/lcmOfThese);
return hcfOfThese;
}
HCF(Highest Common Factor) of 2
numbers
int getHCF(int n1,int n2)
{
int lcmOfThese=(int) getLCM(n1,n2);
long product=n1*n2;
int hcfOfThese=(int)(product/lcmOfThese);
return hcfOfThese;
}
User Defined getLCM()
method
Print prime numbers between 1 and
100
void printPrime1To100()
{
for(int i=1;i<=100;i++)
{
if( ==true)
{
System.out.println(i);
}
}
}
User
defined
method
Print prime numbers between 200 and 500
which are Palindrome numbers too
This is exercise
Convert Decimal to XXX
String convertDecimalToXXX(long n,int base)
{
StringBuilder sb = new StringBuilder();
for(;n!=0;n=n/base)
{
byte x= (byte)(n%base);
if(x>=10)
{
char ch=' ';
switch(x)
{
case 10:ch='A';break;
case 11:ch='B';break;
case 12:ch='C';break;
case 13:ch='D';break;
case 14:ch='E';break;
case 15:ch='F';break;
}
sb.append(ch);
}
else
{
sb.append(x);
}
}
return
String.valueOf(sb.reverse());
}
Convert Decimal to Binary
String convertDecimalToBinary(long n)
{
int base=2;
String ans=convertDecimalToXXX(n,base);
return ans;
}
Convert Decimal to Octal
String convertDecimalToOctal(long n)
{
int octal_base=8;
String ans=convertDecimalToXXX(n,octal_base);
return ans;
}
Convert Decimal to Hexadecimal
String convertDecimalToHexadecimal(long n)
{
int hex_base=16;
String ans=convertDecimalToXXX(n,hex_base);
return ans;
}
Convert Binary to XXX
long convertXXXToDecimal(int base,String num)
{
StringBuilder sb = new StringBuilder(num);
long sum=0,t=0;
for(int i=sb.length()-1;sb.length()!=0;i--,t++)
{
Character x=sb.charAt(i);
int y=x-48;
sb=sb.deleteCharAt(i);
double z=y*(Math.pow(base, t));
sum=sum+(long)z;
}
return sum;
}
Convert Binary to Decimal
long convertBinaryToDecimal(String binary_number)
{
int binary_base=2;
long ans=convertXXXToDecimal(binary_base,binary_number);
return ans;
}
Convert Octal to Decimal
long convertOctalToDecimal(String binary_number)
{
int binary_base=8;
long ans=convertXXXToDecimal(binary_base,binary_number);
return ans;
}
Convert Hexadecimal to Decimal
long convertHexToDecimal(String binary_number)
{
int binary_base=2;
long ans=convertXXXToDecimal(binary_base,binary_number);
return ans;
}
Convert Hexadecimal to Octal
String convertHexToOctal(String hexNumber)
{
long decimal=convertHexToDecimal(hexNumber);
String ans=convertDecimalToOctal(decimal);
return ans;
}
Convert Hexadecimal to Binary
String convertHexToBinary(String hexNumber)
{
long decimal=convertHexToDecimal(hexNumber);
String ans=convertDecimalToBinary(decimal);
return ans;
}
Convert Octal to Hexadecimal
String convertOctalToHex(String octalNumber)
{
long decimal=convertOctalToDecimal(octalNumber);
String ans=convertDecimalToHex(decimal);
return ans;
}
Convert Octal to Binary
String convertOctalToBinary(String octalNumber)
{
long decimal=convertOctalToDecimal(octalNumber);
String ans=convertDecimalToBinary(decimal);
return ans;
}
Print All elements of an Array
void arrayTraversing(int arr[])
{
for(int x:arr)
{
System.out.println(x);
}
}
Print All elements of an Array
void arrayTraversing(int arr[])
{
for(int x:arr)
{
System.out.println(x);
}
}
Print All elements of an Array
void arrayTraversing(int arr[])
{
for(int x:arr)
{
System.out.println(x);
}
}
Method
Header /
Method
Declaration
Sum of an Array
int sumOfArray(int arr[])
{
int sum=0;
for(int x:arr)
{
sum=sum+x;
}
return sum;
}
Sum of an Array
int sumOfArray(int arr[])
{
int sum=0;
for(int x:arr)
{
sum=sum+x;
}
return sum;
}
Taking an integer
array and returning
single value of int
data type
Average of an Array
float averageOfArray(int arr[])
{
int sum=0;
float avg;
for(int x:arr)
{
sum=sum+x;
}
avg=(float)sum/arr.length;
return avg;
}
Maximum of an Array
byte maximumOfArray(byte arr[])
{
byte max=Byte.MIN_VALUE;
for(byte x:arr)
{
if(x>max)
{
max=x;
}
}
return max;
}
Maximum of an Array
byte maximumOfArray(byte arr[])
{
byte max=Byte.MIN_VALUE;
for(byte x:arr)
{
if(x>max)
{
max=x;
}
}
return max;
}
Minimum of an Array
byte minimumOfArray(byte arr[])
{
byte min=Byte.MAX_VALUE;
for(byte x:arr)
{
if(x<min)
{
min=x;
}
}
return min;
}
Minimum of an Array
byte minimumOfArray(byte arr[])
{
byte min=Byte.MAX_VALUE;
for(byte x:arr)
{
if(x<min)
{
min=x;
}
}
return min;
}
Wrapper class for
byte data type
Minimum of an Array
byte minimumOfArray(byte arr[])
{
byte min=Byte.MAX_VALUE;
for(byte x:arr)
{
if(x<min)
{
min=x;
}
}
return min;
}
Maximum
value of
byte is 127.
Wrapper class for
byte data type
Return prime numbers between 1 and
100
int[] getPrime1To100()
{
int arr[] = new int[100];
for(int i=1,j=1;
i<=100;i++)
{
if( ==true)
{
arr[j]=i;
j++;
}
}
return arr;
}
Taking no parameters but
returning an array.
A method cannot
return multiple
values but it can
return an array.
Complete Program
public class function1
{
static int[] getPrime1To100()
{
int arr[] = new int[100];
for(int i=1,j=1;
i<=100;i++)
{
if(isPrime(i)==true)
{
arr[j]=i;
j++;
}
}
return arr;
}
public static void main(String args[])
{
int art[]=getPrime1To100();
for(int x:art)
{
if(x!=0)
{
System.out.println(x);
}
}
}//end of main method
}//end of public class
Array contains
100 values,
some are prime
numbers other
are default
values (0).
Reverse array
byte[] reverseArray(byte arr[])
{
byte xyz[]=new byte[100];
int i=arr.length-1;
for(j=0; i>=0; i-- , j++)
{
xyz[i]=arr[j];
}
return xyz;
}
Returning byte array to
calling method
This method takes an
array(multiple byte
type values) and
returns an
array(multiple byte
type values).
Reverse array
byte[] reverseArray(byte arr[])
{
byte xyz[]=new byte[100];
int i=arr.length-1;
for(j=0; i>=0; i-- , j++)
{
xyz[i]=arr[j];
}
return xyz;
}
Returning byte array to
calling method
5 78 89 1655
Original Array
This method takes an
array(multiple byte
type values) and
returns an
array(multiple byte
type values).
Reverse array
byte[] reverseArray(byte arr[])
{
byte xyz[]=new byte[100];
int i=arr.length-1;
for(j=0; i>=0; i-- , j++)
{
xyz[i]=arr[j];
}
return xyz;
}
Returning byte array to
calling method
5 78 89 1655
Original Array
1655 89 78 5
Converted Array
This method takes an
array(multiple byte
type values) and
returns an
array(multiple byte
type values).
Reverse array
byte[] reverseArray(byte arr[])
{
byte xyz[]=new byte[100];
int i=arr.length-1;
for(j=0; i>=0; i-- , j++)
{
xyz[i]=arr[j];
}
return xyz;
}
Returning byte array to
calling method
5 78 89 1655
Original Array
1655 89 78 5
Converted Array
This method takes an
array(multiple byte
type values) and
returns an
array(multiple byte
type values).
Reverse digits of all array elements 1
Example
Original Array
Converted Array
5 78 89 1655 464 782 346 75623
5 87 98 5561 464 287 643 32657
Reverse digits of all array elements 2
void reverseEveryArrayElement(int a[])
{
for(int i=0;i<a.length;i++)
{
a[i]=reverseNumber(a[i]);
}
}
Reverse digits of all array elements 2
void reverseEveryArrayElement(int a[])
{
for(int i=0;i<a.length;i++)
{
a[i]=reverseNumber(a[i]);
}
}
Replacing
every element
of array with
its reverse
number
Reverse digits of all array elements 2
void reverseEveryArrayElement(int a[])
{
for(int i=0;i<a.length;i++)
{
a[i]=reverseNumber(a[i]);
}
}
This method is
modifying
original array
elements.
Replacing
every element
of array with
its reverse
number
Complete Program
public static void main(String args[])
{
int a[]={5,78,89,1655,464,782,346,75623};
reverseEveryArrayElement(a);
arrayTraversing(a);
}
static void reverseEveryArrayElement(int a[])
{
for(int i=0;i<a.length;i++)
{
a[i]=reverseNumber(a[i]);
}
}
Advantages of Using Methods
48
Advantages of Using Methods
1. To help make the program more
understandable
48
Advantages of Using Methods
1. To help make the program more
understandable
2. To modularize the tasks of the program
building blocks of the program
48
Advantages of Using Methods
1. To help make the program more
understandable
2. To modularize the tasks of the program
building blocks of the program
3. Write a module once
those lines of source code are called multiple times
in the program
48
Advantages of Using Methods
49
Advantages of Using Methods
4. While working on one function, you can focus on
just that part of the program
construct it,
debug it,
perfect it.
49
Advantages of Using Methods
4. While working on one function, you can focus on
just that part of the program
construct it,
debug it,
perfect it.
5. Different people can work on different functions
simultaneously.
49
Advantages of Using Methods
4. While working on one function, you can focus on
just that part of the program
construct it,
debug it,
perfect it.
5. Different people can work on different functions
simultaneously.
6. If a function is needed in more than one place in a
program, or in different programs, you can write it
once and use it many times
49