For this homework you will implement a simple Color
class which stores RGB colors prints them out and lets you mix colors.
Your program will have the constructors and methods such that this main:
public static void main(String[] args) {prints out these statements:
//a constructor with all ints arguments, each is a number between 0 and 255.
Color red = new Color(255,0,0);
System.out.println(red);
//a constructor that understands "red", "green" and "blue".
Color blue = new Color("blue");
System.out.println(blue);
//a constructor with all doubles as arguments, each is a number between 0 and 1.
Color green = new Color(0.0, 1.0, 0.0);
System.out.println(green);
//if a number is out of range you push it back into the range!
Color reallyGreen = new Color(0.0, 100, 0.0);
System.out.println(reallyGreen);
//Mix colors by simply taking the average of each component (RGB).
Color purple = red.mixWith(blue);
System.out.println("purple=" + purple);
purple = purple.mixWith(red);
System.out.println(purple);
purple = purple.mixWith(red);
System.out.println(purple);
}
#ff0000 #0000ff #00ff00 #00ff00 purple=#7f007f #bf003f #df001f
Those are hexadecimal numbers there, in the standard Hex triplet format. Notice how your code will not let the user create an illegal color.
Tip: your internal representation should use a number between 0 and 255 for each one of the channels (RGB). Also, try to make use of your own private methods.
The homework should be deposited in our dropbox by Thursday, October 7 @ 9am