繁体   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