java - 尝试在我的java代码中打印数组

标签 java

我有两个名为 Guitar 和 TestGuitar 的独立文件,试图执行代码来获取琴弦数量、吉他长度、品牌、颜色,然后随机选择 16 个音符和时值。我可以编译和执行我的代码,但无法弄清楚如何让它打印吉他代码的 playGuitar() 部分中的信息。任何关于如何前进的想法或意见都会非常有帮助和赞赏。 这是 Guitar.java 的第一个代码

/*
* File: Guitar.java
* Author: 
* Date: Feb 8, 2020
* Purpose: 
*/

import java.util.Random;

public class Guitar {    
    private int numStrings;
    private double guitarLength;
    private String guitarManufacturer;
    private String guitarColor;

    //Constructor
    public Guitar(int numStrings, double guitarLength, String guitarManufacturer, String guitarColor) {
    this.numStrings = numStrings;
    this.guitarLength = guitarLength;
    this.guitarManufacturer = guitarManufacturer;
    this.guitarColor = guitarColor;
    }

    // Default Constructor
    public Guitar() { 
    this.numStrings = 6;
    this.guitarLength = 28.2;
    this.guitarManufacturer = "Gibson";
    this.guitarColor = "Red";
    }

    // Setter methods 
    // setnumStrings
    public void setnumStrings(int numStrings) {
    this.numStrings = numStrings;
    }
    // setguitarLength
   public void setguitarLength(double guitarLength)  {  
    this.guitarLength = guitarLength;
    }
    // setguitarManufacturer
   public void setguitarManufacturer(String guitarManufacturer)  {  
    this.guitarManufacturer = guitarManufacturer;
    }
    // setguitarColor
   public void setguitarColor(String guitarColor)  {    
    this.guitarColor = guitarColor;
    }

   // Getter methods
   // getnumStrings
    public int getnumStrings() {
    return numStrings;
    }    
    // getguitarLength
    public double getguitarLength() {
    return guitarLength;
    }
    // getguitarManufacturer
    public String getguitarManufacturer() {
    return guitarManufacturer;
    }
    // getguitarColor
    public String getguitarColor() {
    return guitarColor;
    }

    // playGuitar method for 16 randomly selected musical notes
    public String playGuitar() {
String play = "[";
//arrays containing possible notes and duration
char[] notes = {'A','B','C','D','E','F','G'};
double[] duration = {0.25,0.5,1,2,4};
//integers works as index for the arrays above
int a;
int b;
//initiate a random number
Random rn = new Random();
//for loop to select 16 randomly selected musical notes of random duration
for (int k=0;k<16;k++) {
    a = rn.nextInt(7);
    b = rn.nextInt(5);
    play = play + notes[a] + "(" + String.valueOf(duration[b]) + ")";
    if (k!=15) { 
        play = play + ",";
    }
}
play = play + ']';
System.out.println(play);
return play; 
}

    // toString method
    public String toString() {
    return "toString(): (numStrings = " + numStrings + ", guitarLength = " + 
    guitarLength + ", guitarManufacturer = " + guitarManufacturer + 
    ", guitarColor = " + guitarColor + ")";
}
    }

这是TestGuitar代码的第二部分

/*
* File: TestGuitar.java
* Author: 
* Date: Feb 8, 2020
* Purpose: 
*/
import java.util.Random;

public class TestGuitar extends Guitar{ 
public TestGuitar(int numStrings, double guitarLength, String guitarManufacturer, String guitarColor) {
super(numStrings, guitarLength, guitarManufacturer, guitarColor);
} 
public static void main(String[] args) {
Guitar one = new Guitar(7, 30.2, "Fender", "Black");
System.out.println(one.toString());
System.out.println("getNumStrings(): " + one.getnumStrings());
System.out.println("getGuitarLength(): " + one.getguitarLength());
System.out.println("getGuitarManufacturer(): " + one.getguitarManufacturer());
System.out.println("getGuitarColor(): " + one.getguitarColor());
}


}

最佳答案

也许我不明白你的问题,但是,你为什么不尝试一下

System.out.println(one.playGuitar());

关于java - 尝试在我的java代码中打印数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60140306/

相关文章:

java - 有没有办法替换列表变量中所有出现的字符串?

java - 如何在spring中创建postmapping方法,以便客户端只需要输入部分对象而不是完整对象?

java - Java 贪吃蛇游戏的类未编译

java - zip4j setFileNameCharset 不起作用

java - 使用 Linux 重新启动 Java 应用程序

java - 配置驱动的 GWT UI 是否可行?

java - 实现 OSGI REST 时出错 : `OSGi bundle not started : missing requirement`

java - Android Espresso 无法输入 TYPE_TEXT_VARIATION_NORMAL?

java - 通用数组如何添加set方法?

java - 在 JavaFX 中安全地关闭/删除 ImageView 文件