PrimesFactory Lab

Download Report

Transcript PrimesFactory Lab

PrimesFactory Lab

Laugh if you get the pun

Poll: Which of these is not a prime number?

Prime Numbers

   A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89… If a number p is prime, then the only cases where p % t == 0 are when t==1 or t==p ◦ e.g. If the number 23 is prime, then the only cases where 23 % t == 0 are when t==1 or t==23

Poll: Which one of these is not a factor of 45...

Factors

   In mathematics, a divisor of an integer n, also called a factor of n, is an integer which divides n without leaving a remainder.

Factors of 24 ◦ 1, 2, 3, 4, 6, 8,12, 24 For an integer n, the factors t are numbers that satisfy the rule n % t == 0

Poll: Which of these is not a prime factor of ...

Prime Factors

   The prime factors of a positive integer are the prime numbers that divide that integer exactly.

Factors of 24 ◦ 1, 2, 3, 4, 6, 8,12, 24 Prime factors of 24 are 2 and 3

PrimesFactory

 Three important methods 1.

2.

Calculate the prime factorization of any number Print a list of all prime numbers 3.

State whether or not a given number is a prime number

PrimesFactory

 Three important methods 1.

 getPrimeFactors(int num) //returns an ArrayList with all of the prime factors of num 2.

3.

  listPrimesUpTo(int num) //returns a comma separated list of all prime numbers less than num isPrime(int num) //return true if num is a prime number

Arrays } { String[] arr = new String[10]; … //insert Strings into array … for(int i=0; i arrList = new ArrayList(); … //insert Strings into ArrayList … for(int i=0; i

(arrList.get(i));

Arrays vs. ArrayList

Arrays } { String[] arr = new String[10]; … //insert Strings into array … for(String x : arr) System.out.println(x); ArrayList } ArrayList arrList = new ArrayList(); … //insert Strings into ArrayList … for(String x : arrList) { System.out.println(x);

Arrays vs. ArrayList

Arrays Fixed length, set when it is created ArrayList Shrinks and grows as needed Must keep track of last slot if array is not full Must write code to shift elements if you want to insert or delete Last slot is always arrList.size()-1 Insert with just arrList.add(object) Delete with just arrList.remove(objectIndex) or arrList.remove(object)

Arrays vs. ArrayList

ArrayList methods

        add(Object elem) remove(int index) remove(Object elem) contains(Object elem) isEmpty() indexOf(Object elem) size() get(int index)

Generics

   ArrayList class is generic, which means it has a type parameter ◦ Class header  public class ArrayList ◦ ◦  is placeholder for any non-primitive type ArrayList  stores Strings ArrayList  stores ints List is restricted to particular data type Built-in safety

The Jokes Get Pun-nier

   What kind of music do Santa’s elves listen to the most?

What kind of musicians are Integers and Doubles?

 Wrap music/Wrappers :P

Auto-Boxing and -Unboxing

 ArrayList must contain objects ◦ NO PRIMITIVES   Objects usually start with upper case letter  String, Egg, Pokemon, Dog, etc.

Primitives usually start with lower case letter  int, double, boolean, etc.

◦ Numbers must be boxed—placed in wrapper classes like Integer or Double—before insertion into an ArrayList

Auto-Boxing and -Unboxing

  Auto-boxing ◦ Automatic wrapping of primitive types in their wrapper classes ◦ Use intValue() or doubleValue() to retrieve the numerical value Auto-unboxing ◦ Automatic conversion of a wrapper class to its corresponding primitive type

Auto-Boxing and –Unboxing Example

ArrayList arrList = new ArrayList(); arrList.add(4); //auto-boxing //4 is an int, wrapped in an //Integer before insertion int n = list.get(0); //auto-unboxing //Integer is retrieved //and converted to int