Design a Java class named Guitar that contains: A private int data field named n
ID: 3885030 • Letter: D
Question
Design a Java class named Guitar that contains: A private int data field named numStrings that defines the number of strings on the guitar. The default value should be 6. A private double data field named guitarLength that defines the length of the guitar in inches. The default value should be 28.2 A private String data field named guitarManufacturer that defines the manufacturer of the guitar. The default value should be "Gibson". A private Color data field named guitarColor that defines the color of the guitar. The default value should be Color.Red. A no argument constructor that creates a Guitar using the default number of strings, length, manufacturer and color. A constructor that creates a Guitar using a specified number of strings, length, manufacturer and color. Getter methods for all data fields. A playGuitar() method that returns a string representation of 16 randomly selected musical notes of random duration. For example, the first part of the string returned might look like this: [A (2), G (3), B (0.5), C (1), C (1), D (0.25), ...]. You can assume one octave in the key of C where valid notes include A, B, C, D, E, F and G and duration values are .25, .5, 1, 2, and 4 representing sixteenth notes, eighth notes, quarter notes, half notes and whole notes, respectively. A toString() method that displays the number of strings, length, manufacturer and color in String format Be sure your code compiles. Write a Java test program, named TestGuitar, to create 3 different Guitars representing each representing a unique test case and call each all of the getter methods along with the toString and playGuitar() methods and document the output. For example for a Guitar with 7 strings, length of 30.2, manufactured by Fender with a color of Black, the output may look similar to this:Explanation / Answer
import java.io.*;
import java.awt.*;
import java.util.*;
class Guitar {
private int num_strings;
private double len;
private String manufacturer;
private Color color;
public Guitar(){
num_strings = 6;
len = 28.2;
manufacturer = "Gibson";
color = Color.RED;
}
public Guitar(int a, double b,String c, Color d){
num_strings = a;
len = b;
manufacturer = c;
color = d;
}
public int getNumStrings(){
return num_strings;
}
public double getLength(){
return len;
}
public String getManufacturer(){
return manufacturer;
}
public Color getColor(){
return color;
}
public String toString(){
String name = "";
if (color == Color.RED){
name = "Red";
}
if (color == Color.BLUE){
name = "Blue";
}
if (color == Color.BLACK){
name = "Black";
}
if (color == Color.CYAN){
name = "Cyan";
}
if (color == Color.YELLOW){
name = "Yellow";
}
if (color == Color.WHITE){
name = "White";
}
return "Guitar with " + String.valueOf(num_strings) + ", length of " + String.valueOf(len) + ", manufactured by " + manufacturer + " with a color of " + name;
}
public void playGuitar(){
Random rand = new Random();
System.out.print("[ ");
for (int i = 0; i<16; i++){
System.out.print(('A' + rand.nextInt(7)));
System.out.print("(");
switch (rand.nextInt(5)){
case 0 : System.out.print("0.25");
break;
case 1 : System.out.print("0.5");
break;
case 2 : System.out.print("1");
break;
case 3 : System.out.print("2");
break;
case 4 : System.out.print("4");
break;
}
System.out.print(")");
if (i < 15)
System.out.print(",");
}
System.out.print(" ]");
}
}
public class DemoGuitar {
public static void main(String[] args){
Guitar g1 = new Guitar(8,30.3,"Gibson",Color.blue);
Guitar g2 = new Guitar(7,25.3,"Gibson",Color.black);
Guitar g3 = new Guitar(7,20.3,"Gibson",Color.green);
System.out.println(g1.toString());
g1.playGuitar();
}
}