无法引用数组中的值

时间:2013-04-05 23:21:56

标签: java arrays

我有点问题。现在,作为化学计划的一部分,我有:

public static Substance Na;
public static Substance Br;

public static Substance NaBr;

public static Substance[][] combinations = {
             {NaBr, NaCl},
         {Na  , Na },
             {Br  , Cl }};
combinations[0][0] = new compound(550);

addCombination(combinations[0][0] , combinations[1][0], combinations[2][0]);

这里的目标是添加使用Na和Br制造NaBr的组合。不幸的是,该程序似乎引用“组合[1] [0]”和“组合[2] [0]”作为它们自己的变量而不是它们要引用的“Na”和“Br”。如果我将这些值分别替换为“Na”和“Br”,它就会像魅力一样运行!...关于如何使阵列识别它只引用预先初始化的“Na”和“Br”的任何想法数组中的那些?

任何帮助将不胜感激!提前谢谢!

1 个答案:

答案 0 :(得分:2)

从你的代码中我只能假设你在delcaring之后初始化了“Na”和“Br”

public static Substance[][] combinations = {
             {NaBr, NaCl},
             {Na  , Na },
             {Br  , Cl }};

如果您在代码顶部初始化“Na”和“Br”,您会注意到它工作正常,因为当这两个变量不是引用时,组合被声明不存在。试试这个

public static Substance Na = new Substance(...);
public static Substance Br = new Substance(...);

public static Substance NaBr = new Substance(...);

public static Substance[][] combinations = {
             {NaBr, NaCl},
         {Na  , Na },
             {Br  , Cl }};

它应该有用。