运行时出现java编码错误,但似乎是正确的

运行时出现java编码错误,但似乎是正确的,java,Java,我编写了一个java程序来读取一些学生名字的内置标记,标记。给他们评分并显示学生姓名、分数和等级。但是当我试图运行代码时,出现了以下错误 主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:0 位于Namemarksgrade.mainNamemarksgrade.java:36`` 您正在尝试打印等级[i],而等级为空。您应该首先用它的大小初始化等级,然后分配值以便能够打印它 public class Namemarksgrade { pu

我编写了一个java程序来读取一些学生名字的内置标记,标记。给他们评分并显示学生姓名、分数和等级。但是当我试图运行代码时,出现了以下错误

主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:0 位于Namemarksgrade.mainNamemarksgrade.java:36``

您正在尝试打印等级[i],而等级为空。您应该首先用它的大小初始化等级,然后分配值以便能够打印它

public class Namemarksgrade {
    public static void main(String args[]) {

        String[] name = {"st1", "st2", "st3", "st4", "st5", "st6", "st7", "st8", "st9", "st10"};
        int[] marks = {10, 20, 3, 65, 68, 23, 24, 21, 45, 96};
        char[] grade = new char[10];

    /*for(int i =0; i<name.length;i++){
        System.out.println(name[1]);
    }*/

        for (int i = 0; i < marks.length; i++) {
            if (marks[i] >= 75) {
                grade[i] = 'A';
            } else if (marks[i] < 74 && marks[i] > 65) {
                grade[i] = 'B';
            } else if (marks[i] < 64 && marks[i] > 55) {
                grade[i] = 'C';
            } else {
                grade[i] = 'D';
            }
            System.out.println(grade[i]);

        }

        System.out.println("Name" + "\t" + "Marks" + "\t" + "Grade");
        for (int j = 0; j < name.length; j++) {
            System.out.println(name[j] + "\t" + marks[j] + "\t" + grade[j]);
        }
    }
}

当成绩为空时,您尝试访问成绩
public class Namemarksgrade {
    public static void main(String args[]) {

        String[] name = {"st1", "st2", "st3", "st4", "st5", "st6", "st7", "st8", "st9", "st10"};
        int[] marks = {10, 20, 3, 65, 68, 23, 24, 21, 45, 96};
        char[] grade = new char[10];

    /*for(int i =0; i<name.length;i++){
        System.out.println(name[1]);
    }*/

        for (int i = 0; i < marks.length; i++) {
            if (marks[i] >= 75) {
                grade[i] = 'A';
            } else if (marks[i] < 74 && marks[i] > 65) {
                grade[i] = 'B';
            } else if (marks[i] < 64 && marks[i] > 55) {
                grade[i] = 'C';
            } else {
                grade[i] = 'D';
            }
            System.out.println(grade[i]);

        }

        System.out.println("Name" + "\t" + "Marks" + "\t" + "Grade");
        for (int j = 0; j < name.length; j++) {
            System.out.println(name[j] + "\t" + marks[j] + "\t" + grade[j]);
        }
    }
}