When you declare a sphere: Sphere b = new Sphere(1,2,3, true,true);
, the first two parameters represent the number of zSamples respectively the number of radialSamples. Since you can not make a polygon with less than three edges, those values must be at least 3. The greater the number of samples, the better the precision of the sphere.
If you try:
Sphere b = new Sphere(30,30,1, true,true);
You should obtain the desired result.