指示─初始化用环和式
在区域为类的实例变量的数组:
- 声明一个整数变量来保存的音符的数量,将它设置到13
- 声明并分配一个大小为13的GuitarString对象的数组。 注意:确保删除原始实例变量(stringA和stringC)。
- 声明的类型字符串的票据阵列,大小的13
- 初始化笔记阵列具有以下13个值: “C”, “C#”, “d”, “d#”, “E”, “F”, “F#”, “G”, “G#”, “A”, “A#”, “B”, “H” 在main方法:
初始化GuitarString的主阵列为整个八度。 您必须使用循环,而不是十三个单独的语句。 记得分配每个吉他弦与新。 使用以下公式计算每个字符串的频率: double frequency = 440.0 * Math.pow(1.05956,index - 9); p12.strings [index] = new GuitarString(frequency);
这里被索引的映射上面所示: 0 - 中间C( “C”) 1 - C#上面中央C( “C#”) 2 - d以上中间C( “d”) 3 - 中间C上方的D#(“D#”) 4 - E上方中间C(“E”) 中间C上方5-F(“F”) 中间C上方6 - F#(“F#”)012 - G16 - - - - - 以上中间C(“G”) 8 - 中间C以上的G#(“G#”) 9 - A以上中间C(“A”) 10 - A#中间C以上(“A#”) 11 - C(“B”) 12 - 高C(“H”)
上述笔记表示钢琴的一个倍频程从中央C以高C.
我的代码 -
public class P12 {
int numNotes = 13;
GuitarString[] GuitarString = new GuitarString[13];
public String[] strings = new String[]{"C", "C#","D","D#","E","F","F#","G","G#","A","A#","B","H"};
public static void main(String[] args) {
// Instantiate object
P12 p12 = new P12();
for(int index = 0; index <= p12.numNotes; index++){
double frequency = 440.0 * Math.pow(1.05956, index - 9);
p12.strings[index] = new GuitarString(frequency);
}
我的问题是我如何初始化循环内的GuitarString阵列和使用给定的式?
看来,你的老师希望你创建GuitarString的一个新的对象类型,而不是当我改变它,使一个新的对象,我得到创建的字符串 – frenchDolphin 2014-12-08 01:08:59
的数组:“类型不匹配:无法从GuitarString转换为字符串“ – OC22 2014-12-08 01:11:55
无关的注意事项:我意识到您的教师是说那个笔记H等于中间C的人,但H实际上等同于笔记B:http://en.wikipedia .ORG /维基/ B_%28musical_note%29。以防万一任何音乐家遇到这个帖子。 – 2014-12-08 01:12:24