Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建一个方法,返回随机音符的字符串表示形式,这些音符的随机持续时间是多少?_Java_String_Class_Methods - Fatal编程技术网

Java 创建一个方法,返回随机音符的字符串表示形式,这些音符的随机持续时间是多少?

Java 创建一个方法,返回随机音符的字符串表示形式,这些音符的随机持续时间是多少?,java,string,class,methods,Java,String,Class,Methods,我需要playGuitar方法返回16个随机持续时间的随机音符的字符串表示形式。输出应该如下所示:A(2)、G(3)、B(0.5)、C(1)、C(1)、D(0.25),…] 另外,如何在我的吉他构造器中将颜色数据字段显示为蓝色或红色,而不是RGB值 我不想使用数组 import java.awt.Color; import java.util.Random; public class Guitar { private int numStrings = 6; private d

我需要
playGuitar
方法返回16个随机持续时间的随机音符的字符串表示形式。输出应该如下所示:
A(2)、G(3)、B(0.5)、C(1)、C(1)、D(0.25),…]

另外,如何在我的吉他构造器中将
颜色
数据字段显示为
蓝色
红色
,而不是RGB值

我不想使用数组

import java.awt.Color;
import java.util.Random;


public class Guitar {
    private int numStrings = 6;
    private double guitarLength = 28.2;
    private String guitarManufacturer = "Gibson";
    private Color guitarColor = Color.red;


    Guitar(){
        int numStrings = 6;
        double guitarLength = 28.2;
        String guitarManufacturer = "Gibson";
        Color guitarColor = Color.red;
    }

    Guitar(int specStrings, double specLength, String specManufacturer, Color specColor){
        numStrings = specStrings;
        guitarLength = specLength;
        guitarManufacturer = specManufacturer;
        guitarColor = specColor;
        //String s1 = Color.toString(specColor);
    }

    public String playGuitar(String str3){
        Random rnd = new Random();

        for (int iCount = 0; iCount<16 ; iCount++){
        char a = (char) (rnd.nextInt(7) + 'A');
        double b = (double) (rnd.nextInt(5)+1);
        String str1 = Double.toString(b);
        String str2 = Character.toString(a);
        //System.out.println(a);
        //System.out.println(str1);
        str3 = str2+"("+str1+")";
        continue;
        //System.out.println(str2+"("+str1+")");
        //System.out.println(str3);
        //String str4 = String.toString(str3);
        //System.out.println(str4);
            }
        return str3;
    }

    public String toString(){
        return numStrings+" "+guitarLength+" "+guitarManufacturer+" "+guitarColor;
    }
    public int getNumStrings (){
        return numStrings;
    }
    public double getGuitarLength(){
        return guitarLength;
    }
    public String getGuitarManufacturer(){
        return guitarManufacturer;
    }
    public Color getGuitarColor(){

        return guitarColor;
    } 
}
导入java.awt.Color;
导入java.util.Random;
公共级吉他{
私有整数numStrings=6;
私人双吉他长度=28.2;
私人弦吉他制造商=“吉布森”;
专用颜色吉他颜色=Color.red;
吉他(){
int numStrings=6;
双吉他长度=28.2;
弦吉他制造商=“吉布森”;
颜色吉他颜色=Color.red;
}
吉他(int-specStrings、双specLength、String-specManufacturer、Color-specColor){
numStrings=specStrings;
吉他长度=规格长度;
吉他制造商=规格制造商;
吉他颜色=特殊颜色;
//字符串s1=Color.toString(specColor);
}
公共弦乐吉他(弦乐str3){
随机rnd=新随机();

对于(int iCount=0;iCount我修复了您的
吉他
类的问题,并运行了
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
    方法,我可以测试
    吉他

  • 我修复了空构造函数以使用实例变量

  • 我将吉他颜色更改为
    字符串
    ,因为您希望显示“红色”或“蓝色”。
    颜色
    类用于使用
    图形
    图形2D
    类绘制实际颜色

  • 我修复了你的
    弹吉他
    课程的众多问题

  • 这是代码。我希望你通过阅读代码学到一些东西

    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;
        }
    
    }
    
    import java.util.Random;
    公共级吉他{
    公共静态void main(字符串[]args){
    吉他=新吉他();
    System.out.println(guitar.playguitart());
    }
    私有整数字符串;
    私人双吉他长度;
    私人弦吉他制造商;
    私人弦吉他;
    吉他(){
    numStrings=6;
    吉他长度=28.2;
    吉他制造商=“吉布森”;
    吉他颜色=“红色”;
    }
    吉他(int规格弦乐,双规格长度,
    字符串规格(制造商,字符串规格颜色){
    numStrings=specStrings;
    吉他长度=规格长度;
    吉他制造商=规格制造商;
    吉他颜色=特殊颜色;
    }
    公共弦乐吉他(){
    随机rnd=新随机();
    字符串str3=“”;
    对于(int-iCount=0;iCount<16;iCount++){
    字符a=(字符)(rnd.nextInt(7)+“a”);
    双b=0.25d*(rnd.nextInt(11)+1);
    String str1=String.format(“%.2f”,b);
    字符串str2=字符.toString(a);
    str3+=str2+“(+str1+”);
    如果(i计数<15){
    str3+=“,”;
    }
    }
    返回str3;
    }
    @凌驾
    公共字符串toString(){
    返回numStrings+“”+guitarLength+“”+
    吉他制造商+“”+吉他颜色;
    }
    public int getNumStrings(){
    返回numstring;
    }
    公共双getGuitarLength(){
    返回吉他长度;
    }
    公共字符串getGuitarManufacturer(){
    返回吉他制造商;
    }
    公共字符串getGuitarColor(){
    返回原色;
    }
    }
    
    我修复了您的
    吉他
    类的问题,并对
    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
    方法,我可以测试
    吉他

  • 我修复了空构造函数以使用实例变量

  • 我将吉他颜色更改为
    字符串
    ,因为您希望显示“红色”或“蓝色”。
    颜色
    类用于使用
    图形
    图形2D
    类绘制实际颜色

  • 我修复了你的
    弹吉他
    课程的众多问题

  • 这是代码。我希望你通过阅读代码学到一些东西

    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;
        }
    
    }
    
    import java.util.Random;
    公共级吉他{
    公共静态void main(字符串[]args){
    吉他=新吉他();
    System.out.println(guitar.playguitart());
    }
    私有整数字符串;
    私人双吉他长度;
    私人弦吉他制造商;
    私人弦吉他;
    吉他(){
    numStrings=6;
    吉他长度=28.2;
    吉他制造商=“吉布森”;
    吉他颜色=“红色”;
    }
    吉他(int规格弦乐,双规格长度,
    字符串规格(制造商,字符串规格颜色){
    numStrings=specStrings;
    吉他长度=规格长度;
    吉他制造商=规格制造商;
    吉他颜色=特殊颜色;
    }
    公共弦乐吉他(){
    随机rnd=新随机();
    字符串str3=“”;
    对于(int-iCount=0;iCount<16;iCount++){
    字符a=(字符)(rnd.nextInt(7)+“a”);
    双b=0.25d*(rnd.nextInt(11)+1);
    String str1=String.format(“%.2f”,b);
    字符串str2=字符.toString(a);
    str3+=str2+“(+str1+”);
    如果(i计数<15){
    str3+=“,”;
    }
    }
    返回str3;
    }
    @凌驾
    公共字符串toString(){
    返回numStrings+“”+guitarLength+“”