Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 - Fatal编程技术网

Java 把字母和数字串起来?

Java 把字母和数字串起来?,java,string,Java,String,我一直想写一个音乐节目有一段时间了,但我对节目了解不多,所以这可能不会发生。这个程序的目标首先是用字母名称(例如:CMaj=CEG)来表示吉他和弦,可能有几种不同类型的和弦(大和弦、小和弦、小和弦等),为了使这变得最简单,我想我将从C大调音阶开始,因为在这个音阶中没有尖和弦或平和弦。我的第一个和弦可能是C大调,它是音阶的第一、第三和第五个(CDEFGAB)。我的问题是,使用字符串和字符(或者其他方式,我猜),有没有一种方法可以将C表示为字符串(?)C,其中C=1,D=2,E=3,…等等。因此,当

我一直想写一个音乐节目有一段时间了,但我对节目了解不多,所以这可能不会发生。这个程序的目标首先是用字母名称(例如:CMaj=CEG)来表示吉他和弦,可能有几种不同类型的和弦(大和弦、小和弦、小和弦等),为了使这变得最简单,我想我将从C大调音阶开始,因为在这个音阶中没有尖和弦或平和弦。我的第一个和弦可能是C大调,它是音阶的第一、第三和第五个(CDEFGAB)。我的问题是,使用字符串和字符(或者其他方式,我猜),有没有一种方法可以将C表示为字符串(?)C,其中C=1,D=2,E=3,…等等。因此,当程序输入一个主和弦时,它会请求相应音阶的1、3和5? 所以基本上用户选择和弦C Maj,它转换成1,3,5,然后音阶匹配,程序调用这3个音阶的特定间隔

任何帮助都将不胜感激,或者换一种完全不同的方式来考虑这个问题

利用我所掌握的一点知识,我使用了网站,找到了他们的枚举示例,并将其组合在一起:

public enum Chord {
CHORD, MAJOR, MINOR, DIMINISHED, BASS, BASS2
}

}

}

以Olivers为例,我仍然不明白如何指定在制作C大调和弦时,我需要音阶枚举的第一、第三和第五个值。我喜欢使用C中的半音并构建每个和弦的想法,但我不知道如何将#s放入音阶类(非法字符)。。所以基本上我的问题是如何让Chord类从Scales类中获得缩放度,并将其插入EnumTest类


(如果有其他地方我可以去问一些愚蠢的问题而不打扰别人,我可以试着问那里=p)

如果您需要有限的值集和将某些参数绑定到这些值的能力,请使用

我对这个问题的第一次调查:

enum Note {
 C, D, E, F, G, A, B
}

class Chord {
   List<Note> notes;
}
enum注释{
C、 D,E,F,G,A,B
}
班级和弦{
清单说明;
}
在这种情况下,注释列表包含按插入顺序排列的和弦注释。若你们不关心顺序,而且我认为和弦不能包含类似的音符,那个么就使用Set作为音符保持器


另外,如果需要代码,请使用返回注释代码的
Note.ordinal()

如果需要有限的值集和将某些参数绑定到这些值的功能,请使用

我对这个问题的第一次调查:

enum Note {
 C, D, E, F, G, A, B
}

class Chord {
   List<Note> notes;
}
enum注释{
C、 D,E,F,G,A,B
}
班级和弦{
清单说明;
}
在这种情况下,注释列表包含按插入顺序排列的和弦注释。若你们不关心顺序,而且我认为和弦不能包含类似的音符,那个么就使用Set作为音符保持器


此外,如果需要代码,请使用返回注释代码的
Note.ordinal()

基本上,注释、和弦和和弦级数是枚举的组合

我会这样做:

首先是一个注释枚举。用半色调而不是音符来思考要容易得多

枚举注释{ C(1),C(2),D(3),D(4),E(5),F(6),F(7),G(8),G(8),A(9),A(10),B(11)}

按照mishaddof的建议实现Note.ordinal()

第二,我将有一个和弦枚举,其中包含所有可能的和弦类型,它给出了要添加到根音符的半音的偏移量。例如:

枚举和弦{ 大调(4,7),小调(3,6)}


找到CMaj非常简单,只需获取C音符,并获取音符枚举中4(E)和7(G)个半色调的音符。对于G#Maj(8),其C(8+4=12(-11)=1,然后D#(8+7=15-11=4)。对于Dmin,D(3),F(3+3=6)和A#(3+7=9)

基本上,音符、和弦和和弦级数是枚举的组合

我会这样做:

首先,一个音符的枚举。用半色调而不是音符来思考要容易得多

枚举注释{ C(1),C(2),D(3),D(4),E(5),F(6),F(7),G(8),G(8),A(9),A(10),B(11)}

按照mishaddof的建议实现Note.ordinal()

第二,我将有一个和弦枚举,其中包含所有可能的和弦类型,它给出了要添加到根音符的半音的偏移量。例如:

枚举和弦{ 大调(4,7),小调(3,6)}


找到CMaj很简单,只需得到C音符,然后得到音符枚举中更远处的4(E)和7(G)半调。对于G#Maj(8),其C(8+4=12(-11)=1,然后是D#(8+7=15-11=4)。对于Dmin,D(3),F(3+3=6)和A#(3+7=9)

我会给你一个向上投票的机会,但我目前没有这个能力=p谢谢你的帮助,这给了我一个很好的方法。使用音符列表,你必须手动定义每个和弦的所有音符,而不是计算它们。有种“幻数”,不太好:(当然,但没有计算和弦的通用方法,无论如何,我们应该根据和弦定义一组音符。我会给你一个向上的投票权,但我现在没有这个能力。谢谢你的帮助,这给了我一个很好的方法。使用一个音符列表,你必须手动定义每个和弦的所有音符,而不是计算它们。Kind的“幻数”,这不是很好:(当然,但没有计算和弦的通用方法,在任何情况下,我们都应该根据和弦定义一组音符。可以详细说明您实际想做什么?只让我知道您想做什么?很明显,您只是想制作一个界面,告诉用户哪些音符是和弦的一部分,还是您想实际演奏sounds?我希望用户从下拉菜单中选择C,然后使用和弦的比例,程序将返回1、3、5(或C,E,G)。您可以使用HashMap实现此目的。HashMap.In键您可以传递C,E,G,In值您将传递要设置的数值(int)(w.r.t.特定键)。我将尝试在com中查找一个或两个小时
enum Note {
 C, D, E, F, G, A, B
}

class Chord {
   List<Note> notes;
}