0

Customer3.toArray() メソッドを実装する必要があります。

Customer3 は ADT およびリンク リスト ノード (教師から提供されたもの) であり、変更することはできません。toArray() メソッドを実装するだけです。簡単にするために、List に 64 個の顧客オブジェクトがあることがわかっているので、64 個の要素の配列を作成します。

LinkedLists に対してこれを行う方法が正確にはわかりません。誰かがそれを変換する簡単な方法を教えてくれることを願っていました。

コード:

public class
Customer3
implements java.io.Serializable
{
Customer3 next;
String ID;
String name;
String state;
String salesID;
public Customer3() { 
    ID = null; name = null; state = null; salesID = null; 
    next = null; 
}

public Customer3(String i, String n, String s, String si){ 
    ID = i; 
    name = n; 
    state = s; 
    salesID = si; 
    next = null; 
}
public Customer3 getNext() { return next; }
public String getID() { return ID; }
public String getName() { return name; }
public String getState() { return state; }
public String getSalesID() { return salesID; }
public void setNext(Customer3 n) { next = n; }
public void setName(String n) { name = n; }
public void setState(String s) { state = s; }
public void setSalesID (String si) { salesID = si; }
public String toString() { return ID + " " + name + " " + state + " " + salesID; }
public Customer3 add(Customer3 h) {
if (h == null) return this;
Customer3 temp = h;
while (temp.next != null) // look for the end of the list
temp = temp.next;
temp.next = this; // append the new node to the end
return h;
} // add
public void show() {
System.out.println(this);
if (next != null) next.show();
} // show
public Object [] toArray()
{
Object [] temp=null;
temp = new Object[64];



return temp;
} // toArray
} //
4

1 に答える 1

1

try

public Object[] toArray() {
    int size = 1;
    Customer3 curr = this;
    while (curr.next != null) {
        size++;
        curr = curr.next;
    }
    Object[] arr = new Object[size];
    arr[0] = this;
    for (int i = 1; i < size; i++) {
        arr[i] = ((Customer3)arr[i - 1]).next;
    }
    return arr;
}
于 2013-03-24T03:40:56.133 に答える