java方法将字符数组[][]转换为int数组
我正在尝试编写一种java方法来将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
字符[][]
数组(每个字符都属于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]){
//...
}
}
}