/************************************************************************* * Compilation: javac Star.java * * ******************************************************************************/ public class Star { private String name; private double x, y, z; private double magnitude; // create a new star with given parameters public Star(String name, double x, double y, double z, double magnitude) { this.name = name; this.x = x; this.y = y; this.z = z; this.magnitude = magnitude; } // draw the star public void draw() { StdDraw.filledCircle(x, y, .02/(magnitude + 2)); } public String toString() { return name + "," + x + "," + y + "," + z + "," + magnitude; } public static void main(String[] args) { StdDraw.setXscale(-1, +1); StdDraw.setYscale(-1, +1); StdDraw.enableDoubleBuffering(); Star a = new Star("CAS BETA", 0.512379, 0.020508, 0.858515, 2.28); Star b = new Star("ALGENIB", 0.963482, 0.055705, 0.261913, 2.83); while (!StdIn.isEmpty()) { String line = StdIn.readLine(); String[] fields = line.split("\\s+"); double x = Double.parseDouble(fields[0]); double y = Double.parseDouble(fields[1]); double z = Double.parseDouble(fields[2]); int draper = Integer.parseInt(fields[3]); double magnitude = Double.parseDouble(fields[4]); String name = fields[3]; if (fields.length >= 9) name += "(" + fields[6] + "_" + fields[7] + "_" + fields[8] + ")"; else if (fields.length >= 8) name += "(" + fields[6] + "_" + fields[7] + ")"; else if (fields.length >= 7) name += "(" + fields[6] + ")"; // if (fields.length >= 7) StdOut.println(name); Star star = new Star(name, x, y, z, magnitude); if (magnitude <= 0) StdOut.println(star); star.draw(); // StdOut.println(star); } StdDraw.show(); } }