【问题标题】:"The type of the expression must be an array type but it resolved to double"“表达式的类型必须是数组类型,但它解析为双精度”
【发布时间】:2012-08-14 11:02:20
【问题描述】:

我对 Android / java 开发很陌生。我有一个问题(可能非常基本),即使在尝试了几种解决方法和互联网研究之后我也无法解决......

public double P_N_comp[][] = new double[16][40];

我使用函数填充 16*40 的值

然后我想显示我的数组的最后一个值:

Double last_P_N = P_N[15][39]; // This is the line where i get the error
TextView myTextView3 = (TextView) findViewById(R.id.mytextview3);
myTextView3.setText("Last P_N value" + last_P_N);

错误提示“表达式的类型必须是数组类型,但它解析为双精度”

所以如果我理解的话,Java 希望在表达式的两边都有一个数组(有错误的行)。 但为什么 ? 据我了解 P_N[15][39] 指的是数组的最后一个值,它是一个双精度值(因此,不是一个数组)。而 last_P_N 刚刚被声明为双精度......

提前感谢您的帮助!

【问题讨论】:

    标签: java android


    【解决方案1】:

    这里:

      Double last_P_N = P_N[15][39];
    

    P_N 是什么?您的数组名称是 P_N_comp。

    【讨论】:

      【解决方案2】:

      你确定你不在那里混合任何东西吗?

      我看到你的数组被声明了:

      double P_N_comp[][] = new double[16][40];
      

      但你正在尝试:

      Double last_P_N = P_N[15][39]; 
      

      我相信有一个错字。 = P_N_comp应该分配[15][39],而不是P_N[15][39]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 2019-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        相关资源
        最近更新 更多