public class ArraySpecies
{
public static void main(String[] args)
{
Species tiger = new Species ("tiger", 27, 0.02);
Species dog = new Species ("dog", 100, 12.5);
Species[][] oneArray = new Species [2][2]; // Create an array
for (int i = 0; i < 2; i++){ // assign value to the array
if (i == 0){
for (int z = 0; z < 2; z++){
if (z == 0) {
oneArray [z][i] = tiger.getName();
}
else {
oneArray [z][i] = dog.getName();
}
}
}
else {
for (int z = 0; z < 2; z++){
if (z == 0) {
oneArray [z][i] = tiger.getPopulation();
}
else {
oneArray [z][i] = dog.getPopulation();
}
}
}
}
}
}
我想將一個類的實例變量值分配給多維數組[2] [2]。它們的數組將有兩行對應於該類的兩個對象,並且兩列對應於該類的兩個實例變量。物種種類有getName()
和getPopulation()
。我收到了一個不兼容的類型錯誤。我的程序有什麼問題?什麼是做我上面指定的另一種方式?將實例變量插入到多維數組中
你從哪裏得到這個錯誤?錯誤堆棧跟蹤在哪裏? – ha9u63ar 2014-11-08 16:17:10
您正在嘗試將String(您的硬幣的名稱)存儲到Species的數組中。這沒有意義。 Specie數組包含物種,而不是字符串。一個物種已經有了一個名字,在別處存儲他們的名字是沒有意義的:如果你有一個物種的數組,你可以訪問他們的名字。 – 2014-11-08 16:18:02
如果你想要物種[2] [2] ='{老虎,狗,老虎,狗}或類似的東西,那麼你可以直接在循環中指定對象(複製構造函數) - 只要你有一個複製構造函數裏面。 – ha9u63ar 2014-11-08 16:20:28