【发布时间】:2017-12-19 14:46:12
【问题描述】:
有人可以解释为什么它不起作用吗?错误位于obj[0][0]=1;。它说 GPA 不能转换为 int,String 变量赋值 s 也是如此。
public class GPA {
public String s;
public int n;
public GPA[][] a;
//constructor
public GPA(GPA[][] a){}
public static void main(String[] args) {
GPA[][] obj=new GPA[2][2];
obj[0][0]=1; //error here
}
}
【问题讨论】:
-
是的,错误是正确的。你不能那样转换。
-
在java中,一个数组中不能有多种数据类型。如果将数组声明为 GPA 对象数组,则它必须只包含 GPA 对象。如果将数组声明为 int 数组,则它必须只包含 int 的。
-
@SureshAtta 那我该怎么做呢?
-
@KylonTyner 我确实创建了 obj 作为 GPA 对象。
-
@Maya 是的,你做到了。但是,当您调用“obj[0]=1;”时,您正试图在 GPA 数组中存储一个 int。相反,您需要执行“obj[0] = new GPA(string, int);”之类的操作其中 string 和 int 是填充值。
标签: java arrays class oop object