我有这个构造函数,它采用jmusic
音符的短语,我试图将每个单独的音符设置为SoloNodes
链表中的单个节点,该链表仅保留一个单独的音符。构造函数中的大多数方法都是我自己写的,但它们都是不言自明的。我到底要怎么做才能生成一个链表呢?
public Solo(Phrase myPhrase)
{
int length=myPhrase.length();
head=new SoloNode();
SoloNode next=new SoloNode();
for(int i=1; i<=length;i++)
{
head.setNote(myPhrase.getNote(i));
next=head.copyNode();
head.setNext(next);
head=next;
i++;
}
}
我猜这就是你要找的代码:
private SoloNode head;
public Solo(Phrase myPhrase)
{
int length = myPhrase.length();
SoloNode node = new SoloNode();
head = node;
for (int i = 0; i < length; i++) {
node.setNote(myPhrase.getNote(i));
if (i + 1 < length) {
node.setNext(new SoloNode());
node = node.getNext();
}
}
}
我假设你正在使用一个类SoloNode,它看起来像这样。
我也假设myPhrase.getNote(i)
从索引0开始(而不是1),因为这是Java中常见的工作方式。
运行此代码后,solonode被myPhrase中的数据填充,并从一个链接到下一个。使用getNext()
,您可以从当前导航到下一个。仅对于最后一个SoloNode,它将返回null
。