Week 9 presentation - Computing Sciences

Download Report

Transcript Week 9 presentation - Computing Sciences

Week 9
Introduction to Computer Science
and Object-Oriented Programming
COMP 111
George Basham
Week 9 Topics
9.1.1 Random Numbers and
Simulations
9.1.2 Using a Debugger
9.2.1 Arrays
9.2.2 Array Lists
9.1.1 Random Numbers and
Simulations
• In a simulation, you repeatedly generate random
numbers and use them to simulate an activity.
• The basic approach of a simulation is to have a
loop, generate a large number of sample values,
and record these values. When completed,
averages or other statistics are calculated.
• See the Buffon needle experiment for an
example.
9.1.1 Random Numbers and Simulations
Cont.
•
•
•
•
Here is how to simulate the cast of a die:
Random generator = new Random();
int d = 1 + generator.nextInt(6);
The call generator.nextInt(6) gives you a random
number between 0 and 5 (inclusive). Add 1 to
obtain a number between 1 and 6.
• import java.util.Random;
• nextInt(n) – a random integer between 0
(inclusive) and n (exclusive)
• nextDouble() – a random floating-point number
between 0 (inclusive) and 1 (exclusive)
9.1.2 Using a Debugger
• A debugger is a program that you can use
to execute another program and analyze
its run-time behavior
• You can make effective use of a debugger
by mastering just three concepts:
breakpoints, single-stepping, and
inspecting variables
9.1.2 Using a Debugger Cont.
• When a debugger executes a program,
the execution is suspended whenever a
breakpoint is reached
• The single-step command executes the
program one step at a time
• You should step into a method to check if
carries out its job correctly, you should
step over it if you know it works correctly
9.2.1 Arrays
• An array is a sequence of values of the
same type. Arrays can be very useful, but
suffer from the limitation that their length is
fixed.
• double[] data = new double[10];
• for (i = 0; i < data.length; ++i)
data[i] = i * 10;
data[0] value is 0, data[1] is 10, data[2] is
20, data[3] is 30 … data[9] is 90
9.2.1 Arrays Cont.
• Representation of the array data from
the previous slide:
Value
Subscript
0.0
0
10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0
1
2
3
4
5
6
7
8
9
9.2.2 Array Lists
• ArrayList is a collection class.
• Array lists can grow and shrink as needed.
• The ArrayList class provides methods for
many common tasks.
• ArrayList<BankAccount> accounts =
new ArrayList<BankAccounts>();
accounts.add(new BankAccount(1001));
9.2.2 Array Lists Cont.
• BankAccount anAccount =
accounts.get(2);
• BankAccount anAccount = new
BankAccount(1729);
• accounts.set(2, anAccount);
• accounts.remove(0);
• System.out.println(accounts.size());
9.2.2 Array Lists Cont.
• Note, don’t try to access an element of an array
or an array list that does not exist, or you will get
an out-of-bounds exception and the program will
be terminated!
• For example, this will generate an out-of-bounds
exception:
• BankAccount anAccount =
accounts.get(accounts.size());
• Error since accounts.size() – 1 is the last valid
element of the array list
Reference: Big Java 4th Edition by Cay
Horstmann
9.1.1 Random Numbers and
Simulations (section 6.5 in Big Java)
9.1.2 Using a Debugger (section 6.6
in Big Java)
9.2.1 Arrays (section 7.1 in Big
Java)
9.2.2 Array Lists (section 7.2 in Big
Java)