java - 为什么我收到 ArrayIndexOutOfBounds 异常?

标签 java java-7

我正在尝试制作一个简单的程序,通过将个人分数传递给构造函数来计算 3 名学生的总分。

class Student{
int n;
int[] total = new int[n];

Student(int x, int[] p, int[] c, int[] m){

    int n = x;
    for(int i = 0; i < n; i++){

        total[i] = (p[i] + c[i] + m[i]);

        System.out.println(total[i]);
    }

  }
}

class Mlist{

public static void main(String args[]){

    String[] name = {"foo", "bar", "baz"};
    int[] phy = {80,112,100};
    int[] chem = {100,120,88};
    int[] maths = {40, 68,60};

    Student stud = new Student(name.length, phy, chem, maths);


  }
} 

最佳答案

您的 total 数组已初始化,而 n 仍为 0,因此它是一个空数组。

添加

total = new int[x];

到你的构造函数。

关于java - 为什么我收到 ArrayIndexOutOfBounds 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307824/

相关文章:

java - JAXB - TreeGrid 解决 XmlElement 冲突

java - Eclipse 对可访问代码发出死代码警告

java - JUnit 在 JAR 中运行测试

java - 如何设置某些特定 JButton 组件(在本例中为 btnPlus)的尺寸?

java - 嵌套通配符泛型变量矫揉造作

Java - 将ENUM1直接转换为ENUM2

java - 使用 Java 7 在 Jersey 上重置连接

java - 使用java计算求和中的处理构造函数

java - 关于递归存储的二叉搜索树问题

java - Java.Util.Calendar 值的任意分配