簡體   English   中英

最后如何修復 toArray 方法?

[英]How can I fix the toArray method in the end?

所以早些時候我問了一個關於如何使用布爾值訪問堆棧的不同端的問題。 所以我解決了這個問題:)

我現在被困在最后; 我不知道如何從接口實現 toArray 方法...螞蟻評論或提示如何修復它? #小白

我發布了我的布爾值 @NoStupidQuestions 的 push 方法:D

public class TwoStackArray<E> implements Twostack<E> {

    // lots of code emitted...

    @Override
    public void push(Boolean right, E element) throws TwostackFullException {
        if (numberOfElement == size - 1) {
            throw new TwostackFullException("Stack overflow");
        }

        if (right) {
            arr[rightIndex] = element;
            rightIndex--;
        } else {
            arr[leftIndex] = element;
            leftIndex++;
        }

        numberOfElement++;
    }

    // lots of code emitted......................

    @Override
    public <T> T[] toArray(T[] a) {
        for (int i = 0; i < numberOfElement; i++) {
            System.out.println(arr[i]);
        }
    }

}

IJ 告訴我最后一個方法缺少 return ......但我只是在這里猜測了一個 for 循環/打印方法......不知道如何解決這個問題

您在這里有 2 個選擇:

  1. 返回數組,您首先通過將函數 toArray 更改為:
@Override
public <T> T[] toArray(T[] a) {
    for (int i = 0; i < a.length; i++) {
        System.out.println(a[i]);
    }
    return a;
}
  1. 您可以將返回類型更改為 void:
@Override
public void toArray(Object[] a) {
    for (int i = 0; i < a.length; i++) {
        System.out.println(a[i]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM