如何在Java中为构造函数类中的多维数组分配内存
当我将数组字段创建为private double[]balance时,我可以通过balance=new double[]{n,u,m,b,e,r,s};在构造函数类中分配内存;。但是,当我尝试为多维数组分配内存时,它将不起作用。netbeans IDE中的错误表示无法将int转换为double。所以我不明白为什么会这样。任何帮助都将不胜感激。这是不是因为我没有包括整笔金额的.00(即12而不是12.00) 下面是我的示例代码:如何在Java中为构造函数类中的多维数组分配内存,java,memory,multidimensional-array,constructor,allocation,Java,Memory,Multidimensional Array,Constructor,Allocation,当我将数组字段创建为private double[]balance时,我可以通过balance=new double[]{n,u,m,b,e,r,s};在构造函数类中分配内存;。但是,当我尝试为多维数组分配内存时,它将不起作用。netbeans IDE中的错误表示无法将int转换为double。所以我不明白为什么会这样。任何帮助都将不胜感激。这是不是因为我没有包括整笔金额的.00(即12而不是12.00) 下面是我的示例代码: package myatmexample; enum Accou
package myatmexample;
enum AccountType
{
CHECKINGACCOUNT,
SAVINGSACCOUNT,
CDACCOUNT,
};
public class bankUserData
{
private final String [] users;
private AccountType [] userAccounts;
private double [][][] balance;
public bankUserData()
{
users = new String []
{
"Jim Beam", "Bailey Irish-Cream", "Jack Daniels","Grey Goose", "Ginger Skyy", "Marga Rita",
"Train Wreck", "OG Skywalker", "Flo Green", "Polly Pak", "Princess Diesel","Gracie Slick"
};
userAccounts = new AccountType[]
{
AccountType.CHECKINGACCOUNT,
AccountType.SAVINGSACCOUNT,
AccountType.CDACCOUNT
};
balance = new double [][][]
{
{ 350, 435, 796, 82.43, 1003.50, 2500, .50, 365, 892, 134, 768, 25892 },
{ 43, 58, 98, 100,54, 33.25, 65.5, 89.7, 71.8, 34.3, 45,67 },
{ 21,23,45,67,68,69,43,21,44,56.78,59, 64 }
};
Object [] fullAccountArray = { users, userAccounts };
}
}
初始化无效。需要一个3D矩阵,但您只能在括号内创建2D矩阵(
{{…}
应该是{{…}}
)。中有一个双精度数组
{{350, 435, 796, 82.43, 1003.50, 2500, .50, 365, 892, 134, 768, 25892},
{43, 58, 98, 100,54, 33.25, 65.5, 89.7, 71.8, 34.3, 45,67},
{21,23,45,67,68,69,43,21,44,56.78,59, 64}};
当您声明newdouble[][]
时:double数组的数组。
因此,它期望的是一系列的双倍而不是双倍
希望不要混淆;)
{{350, 435, 796, 82.43, 1003.50, 2500, .50, 365, 892, 134, 768, 25892},
{43, 58, 98, 100,54, 33.25, 65.5, 89.7, 71.8, 34.3, 45,67},
{21,23,45,67,68,69,43,21,44,56.78,59, 64}};