我是 Java 新手,昨天我的教授給我發了一個樣本測驗。不幸的是,我陷入了一項任務。
任務:
撰寫一個名為MyArray的類,其中包含所有必需的方法。類實體化后,我們想在 Main.java 中使用這個類,如下所示:
// comments : expected outputs
System.out.println(myarray1); // []
System.out.println(myarray1.size()); // 0
System.out.println(myarray1.isEmpty()); // true
myarray1.append(51);
myarray1.append(75);
myarray1.append(24);
System.out.println(myarray1); // [51, 75, 24]
System.out.println(myarray1.size()); // 3
int last = myarray1.getLast();
System.out.println(last); // 24
int first = myarray1.getFirst();
System.out.println(first); // 51
myarray1.appendAll(List.of(15, 95, 124));
System.out.println(myarray1); // [51, 75, 24, 15, 95, 124]
System.out.println(MyArray.InstCount); // 1 <instantiation counter>
我已經成功實作了所有必要的方法,但我無法理解這一行:
System.out.println(myarray1); // []
如何直接列印此物件(ArrayList)?
我不能那樣做。我的解決方法是一個名為 的新方法print(),它列印 myarray1 物件:
在 Main.java 中:
System.out.println(myarray1.print()); // []
在 MyArray.java 中:
import java.util.List;
import java.util.ArrayList;
class MyArray
{
public static int Count = 0;
private List<Integer> numbers = new ArrayList<Integer>();
MyArray()
{
Count ;
}
public List<Integer> print()
{
return numbers;
}
.
. // other methods...
.
}
uj5u.com熱心網友回復:
print() 如果該方法實際上不列印任何內容而是構造一個字串,則該名稱有點奇怪。
該println(Object obj)方法存在于PrintStream(并且System.out是一個 PrintStream)。它通過呼叫物件的toString()方法來列印物件(所有物件都具有 - 您可以覆寫它):
public class MyArr {
@Override public String toString() {
return whatever your print() method was returning.
}
}
uj5u.com熱心網友回復:
看起來您需要覆寫該toString方法。像這樣的東西
class MyArray {
// other fields
@Override
public String toString() {
return numbers.toString();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315787.html
上一篇:如何在嵌套的物件陣列中找到索引?
