java方法将字符数组[][]转换为int数组

java方法将字符数组[][]转换为int数组,java,arrays,switch-statement,Java,Arrays,Switch Statement,我正在尝试编写一种java方法来将字符[][]数组(每个字符都属于int数组[])转换为int的数组: public static int charArrayToInt (char[][] Grades, int[] studentList) { int[][] studentGradesInt = new int[10][]; //create a new array to convert char 'grades to int 'grades' for (in

我正在尝试编写一种java方法来将
字符[][]
数组(每个字符都属于
int数组[]
)转换为
int
数组

public static int charArrayToInt (char[][] Grades, int[] studentList)  {
    int[][] studentGradesInt = new int[10][];       //create a new array to convert char 'grades to int 'grades'

    for (int Students : studentList) {              //for every student
        for (int i=0; i<Grades.length-1; i++ ) {    // for every ref to grade (array)
            switch (Grades[i]) {                    //convert grade in reference to appropriate value in new array
                case 'A': studentGradesInt[i] = '4'; 
                case 'B': studentGradesInt[i] = '3';
                case 'C': studentGradesInt[i] = '2';
            }
        }
    }
}

您使用的是
char[]]Grades
,因此
Grades[i]
给您一个
char[]
,要获得特定的字符,您还需要指定第二级索引:
Grades[numStudent][i]

读取二维阵列的一般实现如下所示:

for(int i = 0; i < Grades.length; ++i){ //for each row
    for(int j = 0; j < Grades[i].length; ++j){ //for each column IN THE CURRENT ROW
        switch(Grades[i][j]){
        //...
        }
    }
}
for(int i=0;i
注意:您使用的是类似于
'4'
字符,而不是数值
4
,它们是不同的,其中一个实际上是
52
,请参阅


注2:如果你的学生收到所有的
'C'
笔记,你会很生气的。你应该
break每个案例完成后,如果没有,下一个案例将被执行。

Grades
是一个char[][],因此
Grades[i]
给你一个
char[]
,你想打开
Grades[numStudent][i]
获得一个
char
。你知道,
'4'
不是一个值为4的整数,而是52,请看。?
for(int i = 0; i < Grades.length; ++i){ //for each row
    for(int j = 0; j < Grades[i].length; ++j){ //for each column IN THE CURRENT ROW
        switch(Grades[i][j]){
        //...
        }
    }
}