import java.awt.Color;
import java.lang.reflect.Field;
import java.util.Random;
public class Main {
private int numStrings;
private double guitarLength;
private String guitarManufacturer
;
private Color guitarColor
;
public Main() {
//default constructor
numStrings = 6;
guitarLength = 28.2;
guitarManufacturer = "Gibson";
}
//these two fields are used to generate random note and duration
static char[] validNotes = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
static double[] validDuration = { 0.25, 0.5, 1, 2, 4 };
public Main(int numStrings, double guitarLength,
// parameterized constructor
this.numStrings = numStrings;
this.guitarLength = guitarLength;
this.guitarManufacturer = guitarManufacturer;
this.guitarColor = guitarColor;
}
// required getters and setters
public static char[] getValidNotes() {
return validNotes;
}
public static void setValidNotes(char[] validNotes) {
Guitar.validNotes = validNotes;
}
public static double[] getValidDuration() {
return validDuration;
}
public static void setValidDuration(double[] validDuration) {
Guitar.validDuration = validDuration;
}
public int getNumStrings() {
return numStrings;
}
public void setNumStrings(int numStrings) {
this.numStrings = numStrings;
}
public double getGuitarLength() {
return guitarLength;
}
public void setGuitarLength(double guitarLength) {
this.guitarLength = guitarLength;
}
public String getGuitarManufacturer
() {
return guitarManufacturer;
}
public void setGuitarManufacturer
(String guitarManufacturer
) {
this.guitarManufacturer = guitarManufacturer;
}
public Color getGuitarColor
() {
return guitarColor;
}
public void setGuitarColor
(Color guitarColor
) {
this.guitarColor = guitarColor;
}
//return a string containing 16 random notes and duration
int MAX = 16;
for (int i = 0; i < MAX; i++) {
notes += validNotes[random.nextInt(validNotes.length)] + "("
+ validDuration[random.nextInt(validDuration.length)] + ")";
if (i == MAX - 1) {
notes += "]";
} else {
notes += ", ";
}
}
return notes;
}
// returns a string containing guitar info
return "(numStrings: " + numStrings + ", length: " + guitarLength
+ ", Manufacturer: " + guitarManufacturer + ", Color: "
+ convertColorToString(guitarColor);
}
try {
if (f.
getType() == Color.
class && f.
get(null).
equals(c
)) {
return f.getName();
}
}
}
return c.toString();
}
}