CS 100: Lecture L4
February 4
// Example L4A: Draws a staircase with colored steps.
import java.io.*;
import java.awt.*;
public class CUCSDrawing extends Frame
{
final int h0 = 50;
final int v0 = 50; // The leftmost step has upper left corner (h0,v0).
final int delh = 70; // The tread length.
final int delv = 40; // The riser height.
final int n = 10; // Number of steps.
public void paint(Graphics g)
{
int h;
int v;
h = h0;
v = v0;
int k;
for (k=1;k<=n;k=k+1)
{
if (k%2 ==0)
{
g.setColor(Color.blue);
}
else
{
g.setColor(Color.green);
}
g.fillRect(h,v,delh,delv);
h = h+delh;
v = v+delv;
}
}
}
public class L4A
{
public static void main(String args[])
{
CUCSDrawing d = new CUCSDrawing();
d.resize(1000,800);
d.move(0,75);
d.setTitle("L4A");
d.show();
d.toFront();
}
}
// Example L4B: Powers of Two
import java.io.*;
public class L4B {
public static void main( String args[]){
TokenReader in = new TokenReader(System.in);
final int n = 10;
int k; // The exponent of two.
long x; // 2-to-the-k
// Print the nth power of two. Solution 1 using a for-loop
x = 1;
for (k=0;k<n;k=k+1)
{
x = 2*x;
}
System.out.println("2-to-the " + n + "= " + x);
// Print the nth power of two. Solution 2 using a while-loop
x = 1;
k = 0;
while (k< n)
{
x = 2*x;
k = k+1;
}
System.out.println("2-to-the " + n + "= " + x);
// Print the first power of two that is > one billion.
x = 1;
while (x<=1000000000)
{
x = 2*x;
}
System.out.println("First power of two bigger than a billion is " + x);
// Print the first power of two that is > one billion and report the power.
x = 1;
k = 0;
while (x<=1000000000)
{
x = 2*x;
k=k+1;
}
System.out.println("2-to-the " + k + "= " + x);
in.waitUntilEnter();
}
}
// Example L4C: Coin Tosses
import java.io.*;
public class L4C {
public static void main( String args[]){
TokenReader in = new TokenReader(System.in);
final int n = 100; // Number of coin tosses.
int k;
double x; // A random number between 0 and 1.
int Heads = 0; // Number of "heads".
for (k=1;k<=n;k=k+1)
{
x = Math.random();
if (x <= .5)
{
Heads = Heads+1;
System.out.println("H");
}
else
{
System.out.println("T");
}
}
System.out.println("\n n = " + n + " Heads = " + Heads);
in.waitUntilEnter();
}
}
// Example L4D: Checking if a value is in (not in) an interval.
import java.io.*;
public class L4D {
public static void main( String args[]){
TokenReader in = new TokenReader(System.in);
final int n = 10000; // Number of trials.
int k;
double x; // A random number between 0 and 1.
int count1=0; // Number of times x is in [.3,.6]
int count2=0; // Number of times x is not in [.7,.9]
for (k=1;k<=n;k=k+1)
{
x = Math.random();
if ((.3<=x) && (x<=.6))
// x is in the interval [.3,.6], i.e., .3 <= x <= .6
{
count1 = count1+1;
}
if ((x<.7) || (.9<x))
// x is not in the interval [.7,.9], i.e., either x <. 7 or .9 < x
{
count2 = count2+1;
}
}
System.out.println("n = " + n + "\n count1 = " + count1 + "\n count2 = " + count2);
in.waitUntilEnter();
}
}