我有一点问题。现在,作为化学类(class)的一部分,我有:
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。不幸的是,该程序似乎引用“combinations[1][0]”和“combinations[2][0]”作为它们自己的变量,而不是它们本来要引用的“Na”和“Br”。如果我分别用这些值替换“Na”和“Br”,它就会像魅力一样运行!...有关如何使数组识别出它仅引用预初始化的“Na”和“Br”的任何想法数组中的那些?
任何帮助将不胜感激!预先感谢您!
最佳答案
从你的代码中我只能假设你在删除后已经初始化了“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 }};
它应该可以工作。
关于java - 从数组引用值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15845159/