/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
public class main {
Counter counter = new Counter( ) ;
Thread threadA
= new CounterThread
( counter,
10 ) ; Thread threadB
= new CounterThread
( counter,
11 ) ; System .
out .
println ( "Starting A" ) ; threadA.start ( ) ;
System .
out .
println ( "Starting B" ) ; threadB.start ( ) ;
threadB.join ( ) ;
threadA.join ( ) ;
System .
out .
println ( "count: " + counter.
count ) ; }
}
public class CounterThread
extends Thread {
Counter counter;
int n = 0 ;
public CounterThread( Counter counter, int n) {
this .counter = counter;
this .n = n;
}
public void run( ) {
for ( int i = 0 ; i < n; i++ ) {
counter.add ( i) ;
}
}
}
public class Counter {
int count = 0 ;
public synchronized void add( int value) {
this .count += value;
try {
System .
err .
println ( "Should not get here!" + ex
) ; }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpwdWJsaWMgY2xhc3MgbWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSW50ZXJydXB0ZWRFeGNlcHRpb24gewogICAgICAgIENvdW50ZXIgY291bnRlciA9IG5ldyBDb3VudGVyKCk7CiAgICAgICAgVGhyZWFkIHRocmVhZEEgPSBuZXcgQ291bnRlclRocmVhZChjb3VudGVyLCAxMCk7CiAgICAgICAgVGhyZWFkIHRocmVhZEIgPSBuZXcgQ291bnRlclRocmVhZChjb3VudGVyLCAxMSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdGFydGluZyBBIik7CiAgICAgICAgdGhyZWFkQS5zdGFydCgpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3RhcnRpbmcgQiIpOwogICAgICAgIHRocmVhZEIuc3RhcnQoKTsKICAgICAgICB0aHJlYWRCLmpvaW4oKTsKICAgICAgICB0aHJlYWRBLmpvaW4oKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImNvdW50OiAiICsgY291bnRlci5jb3VudCk7CiAgICB9ICAgICAgCn0KCnB1YmxpYyBjbGFzcyBDb3VudGVyVGhyZWFkIGV4dGVuZHMgVGhyZWFkIHsKICAgIAogICAgQ291bnRlciBjb3VudGVyOwogICAgaW50IG4gPSAwOwogICAgCiAgICBwdWJsaWMgQ291bnRlclRocmVhZChDb3VudGVyIGNvdW50ZXIsIGludCBuKSB7CiAgICAgICAgdGhpcy5jb3VudGVyID0gY291bnRlcjsKICAgICAgICB0aGlzLm4gPSBuOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIHJ1bigpIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBjb3VudGVyLmFkZChpKTsKICAgICAgICB9CiAgICB9Cn0KcHVibGljIGNsYXNzIENvdW50ZXIgewogICAgaW50IGNvdW50ID0gMDsKCiAgICBwdWJsaWMgc3luY2hyb25pemVkIHZvaWQgYWRkKGludCB2YWx1ZSkgewogICAgICAgIHRoaXMuY291bnQgKz0gdmFsdWU7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgVGhyZWFkLnNsZWVwKDEwKTsKICAgICAgICB9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBleCkgewogICAgICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIlNob3VsZCBub3QgZ2V0IGhlcmUhIiArIGV4KTsKICAgICAgICB9CiAgICB9ICAgIAogICAgCn0=
compilation info
Main.java:7: error: class main is public, should be declared in a file named main.java
public class main {
^
Main.java:22: error: class CounterThread is public, should be declared in a file named CounterThread.java
public class CounterThread extends Thread {
^
Main.java:38: error: class Counter is public, should be declared in a file named Counter.java
public class Counter {
^
3 errors
stdout