【发布时间】:2017-09-07 10:33:47
【问题描述】:
我正在尝试编写一个 java 方法来将 chars[][] 的数组(每个都属于 int array[])转换为 array 的 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';
}
}
}
}
我想我有一个指向每个 Grades[] 引用的指针,但编译器在 switch 语句中抛出“char[] 无法转换为 int”。
如果有帮助,我的主要是:
public static void main(String[] args) {
int[] studentIdList = new int[] {1001,1002,1003};
char[][] studentsGrades = new char[][] { { 'A', 'A', 'A', 'B' }, { 'A', 'B', 'B' } , { 'A', 'B', 'C' , 'D' }};
charArrayToInt(studentsGrades,studentIdList);
System.out.println("grade_test: "+studentsGrades[2][2]);
System.out.println("grade_test: "+studentGradesInt[2][2]);
}
【问题讨论】:
-
Grades是一个字符[][],所以Grades[i]给你一个char[],你想打开Grades[numStudent][i]得到一个char。而且您知道'4'不是值 4 而是 52 的 int,请参阅ASCII TABLE.?
标签: java arrays switch-statement