0

LinkList.java の「curr.names.length()-1」でエラーが発生しました。.length はエラーになります。これを修正するにはどうすればよいですか? ここではまだ新しいので、Java をよく理解していません。試してみようと思っただけです。これは私が得たコードです:

SinglyNode.java

public class SinglyNode
{
public Object names;
public SinglyNode next;

public SinglyNode (Object name1)
{
    names = name1;
    next = null;
}

public void setNext(SinglyNode next1)
{
    next = next1;
}

Object getObject()
{
    return names;
}

SinglyNode getNext()
{
    return next;
}

void displayLink()
{
    System.out.print("{" + names + "}");
}
}

LinkList.javaエラーはここにあります

public class LinkList
{
SinglyNode first;
SinglyNode last;

public boolean isEmpty()
{
    return (first == null);
}

void insertFirst(Object name1)
{
    SinglyNode newNode1 = new SinglyNode(name1);
    newNode1.next = first;
    first = newNode1;
}

void display()
{
    SinglyNode current = first;
    while(current != null)
    {
        current.displayLink(); // print data
        current = current.next; // move to next link
    }
    System.out.println("\n");
}

public void bubbleSort()
{
    int length = 0;
    SinglyNode hold = first;
    while(true)
    {
        if(hold == last)
        {
            break;
        }
        hold = hold.next;
        length++;
    }
    while(true)
    {
        if(length == 0)
        {
            break;
        }
        int i = 0;

        SinglyNode curr = first;
        while(true)
        {
            if(i == length)
            {
                break;
            }
            if( curr.names.charAt(curr.names.length()-1) > 
                    curr.next.names.charAt(curr.next.names.length()-1))
            {
                swap(curr);
            }
            curr = curr.next;
            i++;
        }
        length--;
    }
}

private void swap(SinglyNode node)
{
    Object temp = node.names;
    node.names = node.next.names;
    node.next.names = temp;
}
}

そして、これがメインクラス MainApp.java です

ppublic class MainApp
{
public static void main (String args[])
{
    LinkList list = new LinkList();

    list.insertFirst("Squirtle");
    list.insertFirst("Bulbasaur");
    list.insertFirst("Charmander");
    list.insertFirst("Pichu");
    list.insertFirst("Ghastly");
    list.insertFirst("Mewtwo");
    list.insertFirst("Dialga"); 

    System.out.println("LIST: ");
    list.display();

    System.out.println("BUBBLE SORT: ");
    list.bubbleSort();
    list.display();

}
}
4

1 に答える 1

0

Objectにはメソッドがありません。適切なメソッド シグネチャを持つクラスでlength()のみ呼び出すことができます。.length()これを にするつもりでしたStringか? その場合は、コードをpublic String namespublic SinglyNode(String name1)、およびString getObject()(またはString getName()またはString getString())に変更します。

于 2013-04-17T15:29:04.707 に答える