Я исправил проблемы с вашим классом Guitar
и провел следующий тест метода playGuitar
. Я вручную отформатировал вывод, чтобы он соответствовал ответу.
F(2.75), G(2.50), G(0.75), A(0.25), D(1.75), G(0.75),
F(0.50), C(2.75), A(2.50), A(1.00), A(2.25), E(1.50),
D(2.50), G(1.25), A(0.50), G(1.00)
Основные изменения, которые я внес:
Я добавил метод main
, чтобы проверить класс Guitar
.
Я исправил ваш пустой конструктор, чтобы он использовал переменные экземпляра.
Я изменил цвет гитары на String
, поскольку вы хотели отображать «красный» или «синий». Класс Color
используется для рисования с фактическими цветами с использованием классов Graphics
или Graphics2D
.
Я исправил множество проблем с вашим классом playGuitar
.
Вот код. Надеюсь, вы что-то узнаете, прочитав код.
import java.util.Random;
public class Guitar {
public static void main(String[] args) {
Guitar guitar = new Guitar();
System.out.println(guitar.playGuitar());
}
private int numStrings;
private double guitarLength;
private String guitarManufacturer;
private String guitarColor;
Guitar() {
numStrings = 6;
guitarLength = 28.2;
guitarManufacturer = "Gibson";
guitarColor = "red";
}
Guitar(int specStrings, double specLength,
String specManufacturer, String specColor) {
numStrings = specStrings;
guitarLength = specLength;
guitarManufacturer = specManufacturer;
guitarColor = specColor;
}
public String playGuitar() {
Random rnd = new Random();
String str3 = "";
for (int iCount = 0; iCount < 16; iCount++) {
char a = (char) (rnd.nextInt(7) + 'A');
double b = 0.25d * (rnd.nextInt(11) + 1);
String str1 = String.format("%.2f", b);
String str2 = Character.toString(a);
str3 += str2 + "(" + str1 + ")";
if (iCount < 15) {
str3 += ", ";
}
}
return str3;
}
@Override
public String toString() {
return numStrings + " " + guitarLength + " " +
guitarManufacturer + " " + guitarColor;
}
public int getNumStrings() {
return numStrings;
}
public double getGuitarLength() {
return guitarLength;
}
public String getGuitarManufacturer() {
return guitarManufacturer;
}
public String getGuitarColor() {
return guitarColor;
}
}