这适用于Coursera上课程软件设计原理的指定。当我尝试运行void sortbylargestdepth
方法时,系统会提示我在函数调用方法中输入一些输入。我应该在那里输入什么输入来运行该方法?这是假设发生的事情,还是我在编写代码时犯了错误?下面我已经包含了代码以及问题的屏幕截图:希望很快得到回复。
以下是该方法的代码:
public void sortByLargestDepth(ArrayList<QuakeEntry> in) {
for (int i=0; i< 50; i++) {
int minIdx = getLargestDepth(in,i);
QuakeEntry qi = in.get(i);
QuakeEntry qmin = in.get(minIdx);
in.set(i,qmin);
in.set(minIdx,qi);
}
答案 0 :(得分:0)
该方法应将签名更改为:
public void sortByLargestDepth(ArrayList<QuakeEntry> quakeEntries)
因为该方法需要ArrayList<QuakeEntry
(QuakeEntry列表)
因此,如果尚未提供列表,则需要创建一个列表并将其传递给方法调用。
因为我们没有QuakeEntry
的代码,所以我假设有一个默认的无参数构造函数。它看起来像是:
ArrayList<QuakeEntry> entries = new ArrayList<>();
QuakeEntry entry1 = new QuakeEntry();
//Init entry 1 here
QuakeEntry entry2 = new QuakeEntry();
//Init entry 2 here (or better yet have a constructor that allows you to init
sortByLargestDepth(entries);