从一个短语创建一个笔记链接列表(Jmusic)

问题描述:

我有这个构造函数,需要一个短语jmusic笔记,我试图设置每个单独的笔记到一个单独的节点在SoloNodes链接列表中只有一个单独的笔记。这个构造函数中的大多数方法都是我自己写的,但它们很自我解释。我该做什么才能生成链表?从一个短语创建一个笔记链接列表(Jmusic)

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看起来像this

我也假定myPhrase.getNote(i)从索引0(不是1)开始,因为这是它在Java中的常用方式。

运行此代码后,SoloNodes将充满myPhrase中的数据并从一个链接到另一个链接。用getNext()您可以从当前导航到下一个导航。只有最后一个SoloNode会返回null

+0

@LongFord:它是否适合你? – 2013-05-15 07:16:14

+0

是的!谢谢。 – LongForde 2013-07-30 15:16:49