java - 从数组引用值时出现问题

标签 java arrays

我有一点问题。现在,作为化学类(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/

相关文章:

java - 负载平衡 Apache Httpd、Mod_Jk 32 位、Tomcat 7、Windows 2008 R2

java - 我用 Launch4j 创建的 .exe 没有运行

arrays - 在 Scala 中做不可变字节数组的最有效方法是什么?

java - Lombok/Jackson - 用于 json 数组的 POJO

java - 我的自定义 Vaadin 6 主题不工作

java - 将自定义作业添加到作业执行器

java - 如何在我的 java 类中显示卢比符号?

java - 查找整数数组的长度/大小

c - 数组声明导致 while 循环出现奇怪的行为

arrays - 如何在 VBA 中重新保存锯齿状数组(数组中的数组)?