start‎ > ‎

code1- split loop

code1code2code3 



1. wat komt hier uit? ------------------------------------------------------------------------
public class HelloGoodbye {

public static void main(String[] args) {

try {

System.out.println("Hello world");

System.exit(0);

} finally {

System.out.println("Goodbye world");

}

}

}
2. wat zegt de compiler hier? ---------------------------------------------------------------------
 
class FooClass {

 public static void bar(String arg) {

    System.out.println("arg = " + arg);

    http://www.google.com

    System.out.println("Done!");
 }
}
3. hoe refactoren we dit volgens Fowler met SPLITTING LOOP? ----------------------------------------------------------

Start with this code.
	private Person [] people;

	void printValues() {
		double averageAge = 0;
		double totalSalary = 0;
		for (int i = 0; i < people.length; i++) {
				averageAge += people[i].age;
				totalSalary += people[i].salary;
		}
		averageAge = averageAge / people.length;
		System.out.println(averageAge);
		System.out.println(totalSalary);
	}

4. How can you fit 20 clowns into a Volkswagen? Two classes are given: an empty Clown class, and a Volkswagen class to which you can add clowns. When you try to add a Clown, it is checked that it isn’t already full. But if you just try hard enough, there’s always room for some extra clowns…

1
2
3
4
package clowns;
 
public class Clown {
}

package clowns;
 
import java.util.HashSet;
import java.util.Set;
 
public class Volkswagen {
    private static final int CAPACITY = 5;
    private Set<Clown> clowns = new HashSet<Clown>();
 
    public synchronized void add(Clown clown) {
        if (clowns.size() >= CAPACITY) {
            throw new IllegalStateException("I'm full");
        } else {
            clowns.add(clown);
        }
    }
 
    public synchronized void done() {
        if (clowns.size() == 20) {
            // The goal is to reach this line
            System.out.println("I'm a Volkswagen with 20 clowns!");
        }
    }
}

Write a class that pushes 20 clowns into the little car, and reaches the marked line. Here is one that won’t really work, just to get you started:


package you;
 
import clowns.Clown;
import clowns.Volkswagen;
 
public class You {
    public static void main(String args[]) {
        // TODO put 20 clowns into a Volkswagen
        Volkswagen vw = new Volkswagen();
        for (int i = 0; i < 20; i++) {
            vw.add(new Clown());
        }
        vw.done();
    }
}
Comments