import static.java.lang.Math.

advertisement
Java
Math Class
What is the Math Class?

The Math Class is another class that is
prepared by Java for us to use

We use this class for mathematical
operations

The Math Class contains many different
complex mathematical functions
Do you remember?

When we used the external class
Scanner we had to use;
Import Java.util.*;

To make use of the Math class, this is not
needed.

It is automatically imported
How to use the Math Class

You must include the class name Math
each time you wish to use the Math Class

Example;
System.out.println(Math.pow(2,8));
Indicating you wish
to output
something
Calling the Math
Class
Calling the
function
power
Arguments
(will work
out 28)
What happens…
System.out.println(Math.pow(2,8));

In the code above the function power is
being used

The arguments being used are 2 and 8

The program should output 256

Why? 28 = 256
Problem?
System.out.println(Math.pow(2,8));

By using the code above the result of 256
is not being saved anywhere as it is just
simply an output

To save the result we need to use the
following code
double result = Math.pow(2,8);
System.out.println(result);
Fed up of writing Math …

Programmers are lazy and do not enjoy
writing the same things a number of times

We could use a java statement to avoid
this, this is known as a static import
statement (always placed before we
create a class)
import static.java.lang.Math.*;
…

Once we use the static import
statement the code to use the power
function would be much shorter.
double result = pow(2,8);

The Math keyword no longer needs to
be used
Math Class Functions
1.
2.
3.
4.
5.
6.
7.
Math.pow() – To the power of
Math.sqrt() – The square root
Math.abs() – Outputs only positive numbers
Math.random() – Outputs a random number
Math.round() – Rounds up numbers
Math.ceil() – Outputs the smallest number
Math.floor() – Outputs the largest number
Math.pow()

The Math.pow() works out the power of
a certain number.

For example if we wish to find the answer
of 29 we would use the following code
import static java.lang.Math.*;
class Power {
public static void main (String args[]){
int a = 2;
int b = 9;
double p = pow(a,b);
System.out.println(p);
}
}
Math.sqrt()

The Math.sqrt() function is used when we
want to find the square root of a number

For example we want to find the square
root of 100 and 10000
import static java.lang.Math.*;
class SquareRoot {
public static void main (String args[]){
int a = 100;
int b = 10000;
double sr1 = sqrt(a);
double sr2 = sqrt(b);
System.out.println("The square root of 100
is " + sr1 + "\nThe square root of 10000 is " + sr2);
}
}
Math.abs()

The Math.abs() function gives the absolute value
of the number

The absolute value of a number is equal to the
same number without the sign.

It is useful on calculations which require positive
numbers only

We would use Math.abs() to find the square root
of a negative number (which cannot be done), so
first we find out the absolute value.
import static java.lang.Math.*;
class SquareRoot {
public static void main (String args[]){
double a = -20.2;
double positive = abs(a);
System.out.println(positive);
}
}
ACTIVITY
Using the Math functions we have leant so far

Create a program that will find;
1. 75
2. Square root -90
Math.random()

This functions outputs a random number
from a given group of numbers

This could be used in many games as a
dice

The random function works with double
data type only hence we would need to
typecast this into a int not to get decimal
numbers.
…

The random function also outputs 0 as a
random number, if you wouldn’t like this
to happen you must use the +1 function

For example you want to represent a dice
so you only want numbers from 1 to 6
int dice = (int)(Math.random()*6)+1;
import static java.lang.Math.*;
class RandomDice{
public static void main(String args[]){
int dice = (int)(random()*6)+1;
System.out.println("Player one roll "+ dice);
}
}
ACTIVITY
Using the Math functions we have leant so far
Coin Toss
Assume that;

1. Heads = 1
2. Tails = 2
Write a program that generates a random number
between 1 and 2 to represent heads and tails
Math.round()

The Math.round() function results in the
closest value to the integer

If the fraction value is 1.7, it will add 1 to
7 and output 8

Basically the Math.round() function would
output the whole number with no
decimal
import static java.lang.Math.*;
class round{
public static void main(String args[]){
double num1 = round(1223.444);
double num2 = round(34.88);
System.out.println(num1 + "\n" +
num2);
}
}
Math.ceil()

The Math.ceil() also outputs decimal
numbers as whole numbers

This is done in a different way as it will
return the smallest whole number which is
not less than the number given

For example;
◦ 13.3 would result in 14
◦ -11.5 would result in -11
import static java.lang.Math.*;
class ceil{
public static void main(String args[]){
double num1 = ceil(10.1);
double num2 = ceil(-43.4);
System.out.println(num1 + "\n" + num2);
}
}
Math.floor()

The Math.floor() does the exact opposite
to Math.ceil()

The whole number would be the next
largest number possible

For example;
◦ 13.3 would result in 13
◦ -11.5 would result in -12
import static java.lang.Math.*;
class floor{
public static void main(String args[]){
double num1 = floor(10.1);
double num2 = floor(-43.4);
System.out.println(num1 + "\n" + num2);
}
}
Formatting values
Number of decimal places to be printed
Output of Results

So far we should know how to use;
1.
2.

print()
println()
Now we will be using printf() which is
used to determine how many decimal
places we would like our result to have
Placeholders

The following are the placeholders we
will be using %f only
Placeholder
Used for
%d
int, byte, short, long
%f
float
%s
String
%c
char
Decimal Places

When using %f the number of decimal
places can be specified
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf(“Formatted to 2 decimal places :%.2f\n”,ans);

What happens?
1. %.2f = determines that you want 2 decimal
places (replaces the actual answer)
2. \n is used to display the actual answer on
the “next line”
import static java.lang.Math.*;
class PrintFDemo {
public static void main (String args[]) {
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf("Formatted to 2 decimal places :%.2f\n",ans);
}
}
Field Size

A field can also be used to hold a specific
number. This means how many characters
are to be held

For example we want to have a field size
of 8 this mean only 20 numbers can be
held
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf(“Formatted to field size 20:%20.3f\n”,ans);
import static java.lang.Math.*;
class feild {
public static void main (String args[]) {
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf("Formatted to 3 decimal places and
a field size of 20 :%20.3f\n",ans);
}
}
Padding with 0s

From the output above we would see that
there are many empty spaces before the
number in order to use the 20 field
spaces

We might wish to pad (fill) these spaces
with 0s all you have to do is add a 0 in
front of your placeholder
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf(“Formatted to field size 20:%020.3f\n”,ans);
import static java.lang.Math.*;
class feild {
public static void main (String args[]) {
double num1 = 234.8889;
double num2 = 56.99058;
double ans = num1+num2;
System.out.printf("Formatted to 3 decimal places and
a field size of 20 :%020.3f\n",ans);
}
}
Download