有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法从数组中引用值

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

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”,而不是数组中的“Na”和“Br”,有什么想法吗

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


共 (1) 个答案

  1. # 1 楼答案

    从您的代码中,我只能假设您已经在删除后初始化了“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 }};
    

    它应该会起作用