import static.java.lang.Math.
Download
Report
Transcript import static.java.lang.Math.
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);
}
}